Table of variables for all cases:
p_table(data,
vars = c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "FACILITY_GEOGRAPHY", "AGE", "AGE_F", "AGE_40",
"SEX_F", "RACE_F", "HISPANIC", "INSURANCE_F",
"INCOME_F", "EDUCATION_F", "U_R_F", "CROWFLY", "CDCC_TOTAL_BEST",
"SITE_TEXT", "HISTOLOGY_F_LIM", "HISTOLOGY_F", "BEHAVIOR", "GRADE_F",
"DX_STAGING_PROC_DAYS", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
"TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
"TNM_PATH_STAGE_GROUP", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
"DX_DEFSURG_STARTED_DAYS", "MARGINS", "MARGINS_YN", "SURG_DISCHARGE_DAYS",
"READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
"PUF_90_DAY_MORT_CD_F", "DX_LASTCONTACT_DEATH_MONTHS",
"LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "SURG_RAD_SEQ",
"SURG_RAD_SEQ_C", "SURGERY_YN", "RADIATION_YN", "CHEMO_YN", "mets_at_dx",
"MEDICAID_EXPN_CODE", "EXPN_GROUP", "SITE_TEXT"))
The data frame does not have: SITE_TEXT.1 Dropped
| n |
|
1361 |
| FACILITY_TYPE_F (%) |
Community Cancer Program |
31 ( 2.3) |
|
Comprehensive Comm Ca Program |
462 ( 33.9) |
|
Academic/Research Program |
654 ( 48.1) |
|
Integrated Network Ca Program |
200 ( 14.7) |
|
NA |
14 ( 1.0) |
| FACILITY_LOCATION_F (%) |
New England |
59 ( 4.3) |
|
Middle Atlantic |
231 ( 17.0) |
|
South Atlantic |
256 ( 18.8) |
|
East North Central |
222 ( 16.3) |
|
East South Central |
89 ( 6.5) |
|
West North Central |
141 ( 10.4) |
|
West South Central |
99 ( 7.3) |
|
Mountain |
79 ( 5.8) |
|
Pacific |
171 ( 12.6) |
|
NA |
14 ( 1.0) |
| FACILITY_GEOGRAPHY (%) |
Northeast |
290 ( 21.3) |
|
South |
355 ( 26.1) |
|
Midwest |
452 ( 33.2) |
|
West |
250 ( 18.4) |
|
NA |
14 ( 1.0) |
| AGE (mean (sd)) |
|
70.50 (11.88) |
| AGE_F (%) |
(0,54] |
145 ( 10.7) |
|
(54,64] |
254 ( 18.7) |
|
(64,74] |
421 ( 30.9) |
|
(74,100] |
541 ( 39.8) |
| AGE_40 (%) |
(0,40] |
18 ( 1.3) |
|
(40,100] |
1343 ( 98.7) |
| SEX_F (%) |
Male |
261 ( 19.2) |
|
Female |
1100 ( 80.8) |
| RACE_F (%) |
White |
1230 ( 90.4) |
|
Black |
25 ( 1.8) |
|
Other/Unk |
35 ( 2.6) |
|
Asian |
71 ( 5.2) |
| HISPANIC (%) |
No |
1235 ( 90.7) |
|
Yes |
52 ( 3.8) |
|
Unknown |
74 ( 5.4) |
| INSURANCE_F (%) |
Private |
454 ( 33.4) |
|
None |
23 ( 1.7) |
|
Medicaid |
22 ( 1.6) |
|
Medicare |
838 ( 61.6) |
|
Other Government |
8 ( 0.6) |
|
Unknown |
16 ( 1.2) |
| INCOME_F (%) |
Less than $38,000 |
165 ( 12.1) |
|
$38,000 - $47,999 |
327 ( 24.0) |
|
$48,000 - $62,999 |
365 ( 26.8) |
|
$63,000 + |
499 ( 36.7) |
|
NA |
5 ( 0.4) |
| EDUCATION_F (%) |
21% or more |
168 ( 12.3) |
|
13 - 20.9% |
320 ( 23.5) |
|
7 - 12.9% |
465 ( 34.2) |
|
Less than 7% |
403 ( 29.6) |
|
NA |
5 ( 0.4) |
| U_R_F (%) |
Metro |
1107 ( 81.3) |
|
Urban |
187 ( 13.7) |
|
Rural |
27 ( 2.0) |
|
NA |
40 ( 2.9) |
| CROWFLY (mean (sd)) |
|
41.13 (124.38) |
| CDCC_TOTAL_BEST (%) |
0 |
1107 ( 81.3) |
|
1 |
198 ( 14.5) |
|
2 |
40 ( 2.9) |
|
3 |
16 ( 1.2) |
| SITE_TEXT (%) |
C00.0 External Lip: Upper NOS |
0 ( 0.0) |
|
C00.1 External Lip: Lower NOS |
0 ( 0.0) |
|
C00.2 External Lip: NOS |
0 ( 0.0) |
|
C00.3 Lip: Upper Mucosa |
0 ( 0.0) |
|
C00.4 Lip: Lower Mucosa |
0 ( 0.0) |
|
C00.5 Lip: Mucosa NOS |
0 ( 0.0) |
|
C00.6 Lip: Commissure |
0 ( 0.0) |
|
C00.8 Lip: Overlapping |
0 ( 0.0) |
|
C00.9 Lip, NOS |
0 ( 0.0) |
|
C44.0 Skin of lip, NOS |
0 ( 0.0) |
|
C44.1 Eyelid |
0 ( 0.0) |
|
C44.2 External ear |
2 ( 0.1) |
|
C44.3 Skin of ear and unspecified parts of face |
2 ( 0.1) |
|
C44.4 Skin of scalp and neck |
3 ( 0.2) |
|
C44.5 Skin of trunk |
287 ( 21.1) |
|
C44.6 Skin of upper limb and shoulder |
7 ( 0.5) |
|
C44.7 Skin of lower limb and hip |
12 ( 0.9) |
|
C44.8 Overlapping lesion of skin |
11 ( 0.8) |
|
C44.9 Skin, NOS |
19 ( 1.4) |
|
C50.0 Nipple |
1 ( 0.1) |
|
C51.0 Labium majus |
92 ( 6.8) |
|
C51.1 Labium minus |
15 ( 1.1) |
|
C51.2 Clitoris |
2 ( 0.1) |
|
C51.8 Overlapping lesion of vulva |
60 ( 4.4) |
|
C51.9 Vulva, NOS |
822 ( 60.4) |
|
C52.9 Vagina, NOS |
1 ( 0.1) |
|
C60.0 Prepuce |
0 ( 0.0) |
|
C60.1 Glans penis |
0 ( 0.0) |
|
C60.2 Body of penis |
1 ( 0.1) |
|
C60.8 Overlapping lesion of penis |
2 ( 0.1) |
|
C60.9 Penis |
22 ( 1.6) |
| HISTOLOGY_F_LIM (%) |
8500 |
0 ( 0.0) |
|
8720 |
0 ( 0.0) |
|
8520 |
0 ( 0.0) |
|
Other |
1361 (100.0) |
| HISTOLOGY_F (%) |
8500 |
0 ( 0.0) |
|
8720 |
0 ( 0.0) |
|
8520 |
0 ( 0.0) |
|
8523 |
0 ( 0.0) |
|
9680 |
0 ( 0.0) |
|
8743 |
0 ( 0.0) |
|
8522 |
0 ( 0.0) |
|
8070 |
0 ( 0.0) |
|
8742 |
0 ( 0.0) |
|
8201 |
0 ( 0.0) |
|
8501 |
0 ( 0.0) |
|
8721 |
0 ( 0.0) |
|
8480 |
0 ( 0.0) |
|
9663 |
0 ( 0.0) |
|
8230 |
0 ( 0.0) |
|
9690 |
0 ( 0.0) |
|
9591 |
0 ( 0.0) |
|
8010 |
0 ( 0.0) |
|
9691 |
0 ( 0.0) |
|
9650 |
0 ( 0.0) |
|
9695 |
0 ( 0.0) |
|
9673 |
0 ( 0.0) |
|
8140 |
0 ( 0.0) |
|
9699 |
0 ( 0.0) |
|
8247 |
0 ( 0.0) |
|
8507 |
0 ( 0.0) |
|
9698 |
0 ( 0.0) |
|
8211 |
0 ( 0.0) |
|
9823 |
0 ( 0.0) |
|
8071 |
0 ( 0.0) |
|
8503 |
0 ( 0.0) |
|
9670 |
0 ( 0.0) |
|
9590 |
0 ( 0.0) |
|
8050 |
0 ( 0.0) |
|
8530 |
0 ( 0.0) |
|
8575 |
0 ( 0.0) |
|
9702 |
0 ( 0.0) |
|
8524 |
0 ( 0.0) |
|
9652 |
0 ( 0.0) |
|
9687 |
0 ( 0.0) |
|
8000 |
0 ( 0.0) |
|
8832 |
0 ( 0.0) |
|
8745 |
0 ( 0.0) |
|
8744 |
0 ( 0.0) |
|
8772 |
0 ( 0.0) |
|
9714 |
0 ( 0.0) |
|
8401 |
0 ( 0.0) |
|
8510 |
0 ( 0.0) |
|
9689 |
0 ( 0.0) |
|
9659 |
0 ( 0.0) |
|
9705 |
0 ( 0.0) |
|
8542 |
1361 (100.0) |
|
9671 |
0 ( 0.0) |
|
9020 |
0 ( 0.0) |
|
8521 |
0 ( 0.0) |
|
8410 |
0 ( 0.0) |
|
8504 |
0 ( 0.0) |
|
8543 |
0 ( 0.0) |
|
8541 |
0 ( 0.0) |
|
9651 |
0 ( 0.0) |
|
9120 |
0 ( 0.0) |
|
8200 |
0 ( 0.0) |
|
8540 |
0 ( 0.0) |
|
8090 |
0 ( 0.0) |
|
9596 |
0 ( 0.0) |
|
8730 |
0 ( 0.0) |
|
8723 |
0 ( 0.0) |
|
9837 |
0 ( 0.0) |
|
8255 |
0 ( 0.0) |
|
8072 |
0 ( 0.0) |
|
8051 |
0 ( 0.0) |
|
8830 |
0 ( 0.0) |
|
8890 |
0 ( 0.0) |
|
8771 |
0 ( 0.0) |
|
9665 |
0 ( 0.0) |
|
8770 |
0 ( 0.0) |
|
8083 |
0 ( 0.0) |
|
8761 |
0 ( 0.0) |
|
8409 |
0 ( 0.0) |
|
9729 |
0 ( 0.0) |
|
9684 |
0 ( 0.0) |
|
9653 |
0 ( 0.0) |
|
8246 |
0 ( 0.0) |
|
8081 |
0 ( 0.0) |
|
9667 |
0 ( 0.0) |
|
8390 |
0 ( 0.0) |
|
8022 |
0 ( 0.0) |
|
8560 |
0 ( 0.0) |
|
8407 |
0 ( 0.0) |
|
8413 |
0 ( 0.0) |
|
8980 |
0 ( 0.0) |
|
8076 |
0 ( 0.0) |
|
8260 |
0 ( 0.0) |
|
9727 |
0 ( 0.0) |
|
8490 |
0 ( 0.0) |
|
8097 |
0 ( 0.0) |
|
8740 |
0 ( 0.0) |
|
8032 |
0 ( 0.0) |
|
8800 |
0 ( 0.0) |
|
8481 |
0 ( 0.0) |
|
8402 |
0 ( 0.0) |
|
9735 |
0 ( 0.0) |
|
9679 |
0 ( 0.0) |
|
9811 |
0 ( 0.0) |
|
8802 |
0 ( 0.0) |
|
8041 |
0 ( 0.0) |
|
9675 |
0 ( 0.0) |
|
8310 |
0 ( 0.0) |
|
8513 |
0 ( 0.0) |
|
8052 |
0 ( 0.0) |
|
8033 |
0 ( 0.0) |
|
8400 |
0 ( 0.0) |
|
9716 |
0 ( 0.0) |
|
8343 |
0 ( 0.0) |
|
8801 |
0 ( 0.0) |
|
9827 |
0 ( 0.0) |
|
8574 |
0 ( 0.0) |
|
8323 |
0 ( 0.0) |
|
8408 |
0 ( 0.0) |
|
8380 |
0 ( 0.0) |
|
8074 |
0 ( 0.0) |
|
9719 |
0 ( 0.0) |
|
8046 |
0 ( 0.0) |
|
8502 |
0 ( 0.0) |
|
8430 |
0 ( 0.0) |
|
9664 |
0 ( 0.0) |
|
8094 |
0 ( 0.0) |
|
9728 |
0 ( 0.0) |
|
8572 |
0 ( 0.0) |
|
8746 |
0 ( 0.0) |
|
8982 |
0 ( 0.0) |
|
8833 |
0 ( 0.0) |
|
8570 |
0 ( 0.0) |
|
8573 |
0 ( 0.0) |
|
8123 |
0 ( 0.0) |
|
8403 |
0 ( 0.0) |
|
9678 |
0 ( 0.0) |
|
8525 |
0 ( 0.0) |
|
8722 |
0 ( 0.0) |
|
8020 |
0 ( 0.0) |
|
9738 |
0 ( 0.0) |
|
8804 |
0 ( 0.0) |
|
8021 |
0 ( 0.0) |
|
8141 |
0 ( 0.0) |
|
8550 |
0 ( 0.0) |
|
8811 |
0 ( 0.0) |
|
8315 |
0 ( 0.0) |
|
8810 |
0 ( 0.0) |
|
8075 |
0 ( 0.0) |
|
8940 |
0 ( 0.0) |
|
8012 |
0 ( 0.0) |
|
8805 |
0 ( 0.0) |
|
8143 |
0 ( 0.0) |
|
8780 |
0 ( 0.0) |
|
9717 |
0 ( 0.0) |
|
8910 |
0 ( 0.0) |
|
9180 |
0 ( 0.0) |
|
8935 |
0 ( 0.0) |
|
8147 |
0 ( 0.0) |
|
8013 |
0 ( 0.0) |
|
8460 |
0 ( 0.0) |
|
8091 |
0 ( 0.0) |
|
8120 |
0 ( 0.0) |
|
8092 |
0 ( 0.0) |
|
8240 |
0 ( 0.0) |
|
8512 |
0 ( 0.0) |
|
8854 |
0 ( 0.0) |
|
9655 |
0 ( 0.0) |
|
8073 |
0 ( 0.0) |
|
8850 |
0 ( 0.0) |
|
8571 |
0 ( 0.0) |
|
9709 |
0 ( 0.0) |
|
8891 |
0 ( 0.0) |
|
9580 |
0 ( 0.0) |
|
8035 |
0 ( 0.0) |
|
8453 |
0 ( 0.0) |
|
8950 |
0 ( 0.0) |
|
8562 |
0 ( 0.0) |
|
8441 |
0 ( 0.0) |
|
9737 |
0 ( 0.0) |
|
8852 |
0 ( 0.0) |
|
9708 |
0 ( 0.0) |
|
8851 |
0 ( 0.0) |
|
9540 |
0 ( 0.0) |
|
8082 |
0 ( 0.0) |
|
8420 |
0 ( 0.0) |
|
8249 |
0 ( 0.0) |
|
8741 |
0 ( 0.0) |
|
8004 |
0 ( 0.0) |
|
9724 |
0 ( 0.0) |
|
8077 |
0 ( 0.0) |
|
9718 |
0 ( 0.0) |
|
8920 |
0 ( 0.0) |
|
8983 |
0 ( 0.0) |
|
9260 |
0 ( 0.0) |
|
9700 |
0 ( 0.0) |
|
8001 |
0 ( 0.0) |
|
8508 |
0 ( 0.0) |
|
9133 |
0 ( 0.0) |
|
8080 |
0 ( 0.0) |
|
8900 |
0 ( 0.0) |
|
9044 |
0 ( 0.0) |
|
8098 |
0 ( 0.0) |
|
8084 |
0 ( 0.0) |
|
8341 |
0 ( 0.0) |
|
9071 |
0 ( 0.0) |
|
8005 |
0 ( 0.0) |
|
8144 |
0 ( 0.0) |
|
8210 |
0 ( 0.0) |
|
8896 |
0 ( 0.0) |
|
8933 |
0 ( 0.0) |
|
8963 |
0 ( 0.0) |
|
8154 |
0 ( 0.0) |
|
9220 |
0 ( 0.0) |
|
8711 |
0 ( 0.0) |
|
8894 |
0 ( 0.0) |
|
8045 |
0 ( 0.0) |
|
9654 |
0 ( 0.0) |
|
8320 |
0 ( 0.0) |
|
8514 |
0 ( 0.0) |
|
8815 |
0 ( 0.0) |
|
9473 |
0 ( 0.0) |
|
8440 |
0 ( 0.0) |
|
8803 |
0 ( 0.0) |
|
8840 |
0 ( 0.0) |
|
9130 |
0 ( 0.0) |
|
9150 |
0 ( 0.0) |
|
9701 |
0 ( 0.0) |
|
8031 |
0 ( 0.0) |
|
8130 |
0 ( 0.0) |
|
8314 |
0 ( 0.0) |
|
8858 |
0 ( 0.0) |
|
9812 |
0 ( 0.0) |
|
8124 |
0 ( 0.0) |
|
8263 |
0 ( 0.0) |
|
8470 |
0 ( 0.0) |
|
9040 |
0 ( 0.0) |
|
9560 |
0 ( 0.0) |
|
8243 |
0 ( 0.0) |
|
8450 |
0 ( 0.0) |
|
8030 |
0 ( 0.0) |
|
8078 |
0 ( 0.0) |
|
8190 |
0 ( 0.0) |
|
8251 |
0 ( 0.0) |
|
8406 |
0 ( 0.0) |
|
9100 |
0 ( 0.0) |
|
8290 |
0 ( 0.0) |
|
8461 |
0 ( 0.0) |
|
8774 |
0 ( 0.0) |
|
8901 |
0 ( 0.0) |
|
8936 |
0 ( 0.0) |
|
8093 |
0 ( 0.0) |
|
8102 |
0 ( 0.0) |
|
8148 |
0 ( 0.0) |
|
8825 |
0 ( 0.0) |
|
8931 |
0 ( 0.0) |
|
8951 |
0 ( 0.0) |
|
9364 |
0 ( 0.0) |
|
9597 |
0 ( 0.0) |
|
9662 |
0 ( 0.0) |
|
8261 |
0 ( 0.0) |
|
8384 |
0 ( 0.0) |
|
8773 |
0 ( 0.0) |
|
9041 |
0 ( 0.0) |
|
9110 |
0 ( 0.0) |
|
8011 |
0 ( 0.0) |
|
8110 |
0 ( 0.0) |
|
8344 |
0 ( 0.0) |
|
8452 |
0 ( 0.0) |
|
8806 |
0 ( 0.0) |
|
9170 |
0 ( 0.0) |
|
9231 |
0 ( 0.0) |
|
9726 |
0 ( 0.0) |
|
9814 |
0 ( 0.0) |
|
9816 |
0 ( 0.0) |
|
9817 |
0 ( 0.0) |
|
8014 |
0 ( 0.0) |
|
8095 |
0 ( 0.0) |
|
8340 |
0 ( 0.0) |
|
8482 |
0 ( 0.0) |
|
8726 |
0 ( 0.0) |
|
8835 |
0 ( 0.0) |
|
8855 |
0 ( 0.0) |
|
8902 |
0 ( 0.0) |
|
8912 |
0 ( 0.0) |
|
8930 |
0 ( 0.0) |
|
9181 |
0 ( 0.0) |
|
9813 |
0 ( 0.0) |
|
9815 |
0 ( 0.0) |
|
8015 |
0 ( 0.0) |
|
8042 |
0 ( 0.0) |
|
8053 |
0 ( 0.0) |
|
8170 |
0 ( 0.0) |
|
8252 |
0 ( 0.0) |
|
8253 |
0 ( 0.0) |
|
8262 |
0 ( 0.0) |
|
8620 |
0 ( 0.0) |
|
8710 |
0 ( 0.0) |
|
8760 |
0 ( 0.0) |
|
8836 |
0 ( 0.0) |
|
8895 |
0 ( 0.0) |
|
9043 |
0 ( 0.0) |
|
9182 |
0 ( 0.0) |
|
9240 |
0 ( 0.0) |
|
9561 |
0 ( 0.0) |
|
9581 |
0 ( 0.0) |
|
9661 |
0 ( 0.0) |
|
9818 |
0 ( 0.0) |
|
8003 |
0 ( 0.0) |
|
8100 |
0 ( 0.0) |
|
8121 |
0 ( 0.0) |
|
8131 |
0 ( 0.0) |
|
8145 |
0 ( 0.0) |
|
8150 |
0 ( 0.0) |
|
8231 |
0 ( 0.0) |
|
8245 |
0 ( 0.0) |
|
8270 |
0 ( 0.0) |
|
8312 |
0 ( 0.0) |
|
8313 |
0 ( 0.0) |
|
8319 |
0 ( 0.0) |
|
8332 |
0 ( 0.0) |
|
8347 |
0 ( 0.0) |
|
8350 |
0 ( 0.0) |
|
8471 |
0 ( 0.0) |
|
8576 |
0 ( 0.0) |
|
8583 |
0 ( 0.0) |
|
8700 |
0 ( 0.0) |
|
8750 |
0 ( 0.0) |
|
8823 |
0 ( 0.0) |
|
8831 |
0 ( 0.0) |
|
8853 |
0 ( 0.0) |
|
8941 |
0 ( 0.0) |
|
8990 |
0 ( 0.0) |
|
9000 |
0 ( 0.0) |
|
9061 |
0 ( 0.0) |
|
9064 |
0 ( 0.0) |
|
9080 |
0 ( 0.0) |
|
9085 |
0 ( 0.0) |
|
9102 |
0 ( 0.0) |
|
9105 |
0 ( 0.0) |
|
9183 |
0 ( 0.0) |
|
9186 |
0 ( 0.0) |
|
9251 |
0 ( 0.0) |
|
9370 |
0 ( 0.0) |
|
9371 |
0 ( 0.0) |
|
9451 |
0 ( 0.0) |
|
9530 |
0 ( 0.0) |
| BEHAVIOR (%) |
2 |
0 ( 0.0) |
|
3 |
1361 (100.0) |
| GRADE_F (%) |
Gr I: Well Diff |
38 ( 2.8) |
|
Gr II: Mod Diff |
30 ( 2.2) |
|
Gr III: Poor Diff |
36 ( 2.6) |
|
Gr IV: Undiff/Anaplastic |
0 ( 0.0) |
|
5 |
0 ( 0.0) |
|
6 |
0 ( 0.0) |
|
7 |
0 ( 0.0) |
|
8 |
0 ( 0.0) |
|
NA/Unkown |
1257 ( 92.4) |
| DX_STAGING_PROC_DAYS (mean (sd)) |
|
1.96 (14.27) |
| TNM_CLIN_T (%) |
N_A |
1 ( 0.1) |
|
c0 |
6 ( 0.4) |
|
c1 |
139 ( 10.2) |
|
c1A |
148 ( 10.9) |
|
c1B |
138 ( 10.1) |
|
c1C |
0 ( 0.0) |
|
c1MI |
0 ( 0.0) |
|
c2 |
176 ( 12.9) |
|
c2A |
0 ( 0.0) |
|
c2B |
0 ( 0.0) |
|
c2C |
0 ( 0.0) |
|
c3 |
25 ( 1.8) |
|
c3A |
0 ( 0.0) |
|
c3B |
0 ( 0.0) |
|
c4 |
1 ( 0.1) |
|
c4A |
0 ( 0.0) |
|
c4B |
0 ( 0.0) |
|
c4C |
0 ( 0.0) |
|
c4D |
0 ( 0.0) |
|
cX |
625 ( 45.9) |
|
pA |
0 ( 0.0) |
|
pIS |
29 ( 2.1) |
|
NA |
73 ( 5.4) |
| TNM_CLIN_N (%) |
N_A |
1 ( 0.1) |
|
c0 |
873 ( 64.1) |
|
c1 |
4 ( 0.3) |
|
c1A |
0 ( 0.0) |
|
c1B |
0 ( 0.0) |
|
c2 |
4 ( 0.3) |
|
c2A |
0 ( 0.0) |
|
c2B |
3 ( 0.2) |
|
c2C |
1 ( 0.1) |
|
c3 |
0 ( 0.0) |
|
c3A |
0 ( 0.0) |
|
c3B |
0 ( 0.0) |
|
c3C |
0 ( 0.0) |
|
cX |
412 ( 30.3) |
|
NA |
63 ( 4.6) |
| TNM_CLIN_M (%) |
N_A |
1 ( 0.1) |
|
c0 |
1249 ( 91.8) |
|
c0I+ |
0 ( 0.0) |
|
c1 |
11 ( 0.8) |
|
c1A |
0 ( 0.0) |
|
c1B |
0 ( 0.0) |
|
c1C |
0 ( 0.0) |
|
NA |
100 ( 7.3) |
| TNM_CLIN_STAGE_GROUP (%) |
0 |
65 ( 4.8) |
|
1 |
196 ( 14.4) |
|
1A |
109 ( 8.0) |
|
1B |
119 ( 8.7) |
|
1C |
0 ( 0.0) |
|
2 |
184 ( 13.5) |
|
2A |
0 ( 0.0) |
|
2B |
0 ( 0.0) |
|
2C |
0 ( 0.0) |
|
3 |
15 ( 1.1) |
|
3A |
0 ( 0.0) |
|
3B |
1 ( 0.1) |
|
3C |
0 ( 0.0) |
|
4 |
9 ( 0.7) |
|
4A |
2 ( 0.1) |
|
4B |
5 ( 0.4) |
|
4C |
0 ( 0.0) |
|
N_A |
1 ( 0.1) |
|
99 |
655 ( 48.1) |
| TNM_PATH_T (%) |
N_A |
1 ( 0.1) |
|
p0 |
9 ( 0.7) |
|
p1 |
98 ( 7.2) |
|
p1A |
147 ( 10.8) |
|
p1B |
157 ( 11.5) |
|
p1C |
0 ( 0.0) |
|
p1MI |
0 ( 0.0) |
|
p2 |
144 ( 10.6) |
|
p2A |
0 ( 0.0) |
|
p2B |
0 ( 0.0) |
|
p3 |
22 ( 1.6) |
|
p3A |
0 ( 0.0) |
|
p3B |
0 ( 0.0) |
|
p4 |
1 ( 0.1) |
|
p4A |
0 ( 0.0) |
|
p4B |
0 ( 0.0) |
|
p4C |
0 ( 0.0) |
|
p4D |
0 ( 0.0) |
|
pA |
0 ( 0.0) |
|
pIS |
23 ( 1.7) |
|
pX |
602 ( 44.2) |
|
NA |
157 ( 11.5) |
| TNM_PATH_N (%) |
N_A |
1 ( 0.1) |
|
p0 |
282 ( 20.7) |
|
p0I- |
0 ( 0.0) |
|
p0I+ |
0 ( 0.0) |
|
p0M- |
0 ( 0.0) |
|
p0M+ |
0 ( 0.0) |
|
p1 |
9 ( 0.7) |
|
p1A |
1 ( 0.1) |
|
p1B |
1 ( 0.1) |
|
p1C |
0 ( 0.0) |
|
p1MI |
0 ( 0.0) |
|
p2 |
1 ( 0.1) |
|
p2A |
0 ( 0.0) |
|
p2B |
1 ( 0.1) |
|
p2C |
6 ( 0.4) |
|
p3 |
1 ( 0.1) |
|
p3A |
0 ( 0.0) |
|
p3B |
0 ( 0.0) |
|
p3C |
0 ( 0.0) |
|
pX |
845 ( 62.1) |
|
NA |
213 ( 15.7) |
| TNM_PATH_M (%) |
N_A |
1 ( 0.1) |
|
p1 |
3 ( 0.2) |
|
p1A |
0 ( 0.0) |
|
p1B |
0 ( 0.0) |
|
p1C |
0 ( 0.0) |
|
pX |
622 ( 45.7) |
|
NA |
735 ( 54.0) |
| TNM_PATH_STAGE_GROUP (%) |
0 |
58 ( 4.3) |
|
1 |
107 ( 7.9) |
|
1A |
104 ( 7.6) |
|
1B |
92 ( 6.8) |
|
1C |
0 ( 0.0) |
|
2 |
120 ( 8.8) |
|
2A |
0 ( 0.0) |
|
2B |
0 ( 0.0) |
|
2C |
0 ( 0.0) |
|
3 |
26 ( 1.9) |
|
3A |
2 ( 0.1) |
|
3B |
0 ( 0.0) |
|
3C |
5 ( 0.4) |
|
4 |
4 ( 0.3) |
|
4A |
5 ( 0.4) |
|
4B |
1 ( 0.1) |
|
4C |
0 ( 0.0) |
|
N_A |
1 ( 0.1) |
|
99 |
757 ( 55.6) |
|
NA |
79 ( 5.8) |
| DX_RX_STARTED_DAYS (mean (sd)) |
|
49.30 (133.55) |
| DX_SURG_STARTED_DAYS (mean (sd)) |
|
46.72 (118.95) |
| DX_DEFSURG_STARTED_DAYS (mean (sd)) |
|
58.37 (134.05) |
| MARGINS (%) |
No Residual |
601 ( 44.2) |
|
Residual, NOS |
164 ( 12.0) |
|
Microscopic Resid |
351 ( 25.8) |
|
Macroscopic Resid |
17 ( 1.2) |
|
Not evaluable |
22 ( 1.6) |
|
No surg |
162 ( 11.9) |
|
Unknown |
44 ( 3.2) |
| MARGINS_YN (%) |
No |
601 ( 44.2) |
|
Yes |
532 ( 39.1) |
|
No surg/Unk/NA |
228 ( 16.8) |
| SURG_DISCHARGE_DAYS (mean (sd)) |
|
2.12 (6.93) |
| READM_HOSP_30_DAYS_F (%) |
No_Surg_or_No_Readmit |
1293 ( 95.0) |
|
Unplan_Readmit_Same |
36 ( 2.6) |
|
Plan_Readmit_Same |
15 ( 1.1) |
|
PlanUnplan_Same |
1 ( 0.1) |
|
9 |
16 ( 1.2) |
| RX_SUMM_RADIATION_F (%) |
None |
1269 ( 93.2) |
|
Beam Radiation |
73 ( 5.4) |
|
Radioactive Implants |
1 ( 0.1) |
|
Radioisotopes |
0 ( 0.0) |
|
Beam + Imp or Isotopes |
1 ( 0.1) |
|
Radiation, NOS |
0 ( 0.0) |
|
Unknown |
17 ( 1.2) |
| PUF_30_DAY_MORT_CD_F (%) |
Alive_30 |
1156 ( 84.9) |
|
Dead_30 |
5 ( 0.4) |
|
Unknown |
33 ( 2.4) |
|
NA |
167 ( 12.3) |
| PUF_90_DAY_MORT_CD_F (%) |
Alive_90 |
1134 ( 83.3) |
|
Dead_90 |
10 ( 0.7) |
|
Unknown |
50 ( 3.7) |
|
NA |
167 ( 12.3) |
| DX_LASTCONTACT_DEATH_MONTHS (mean (sd)) |
|
58.04 (40.29) |
| LYMPH_VASCULAR_INVASION_F (%) |
Neg_LymphVasc_Inv |
272 ( 20.0) |
|
Pos_LumphVasc_Inv |
28 ( 2.1) |
|
N_A |
1 ( 0.1) |
|
Unknown |
438 ( 32.2) |
|
NA |
622 ( 45.7) |
| RX_HOSP_SURG_APPR_2010_F (%) |
No_Surg |
123 ( 9.0) |
|
Robot_Assist |
2 ( 0.1) |
|
Robot_to_Open |
0 ( 0.0) |
|
Endo_Lap |
18 ( 1.3) |
|
Endo_Lap_to_Open |
2 ( 0.1) |
|
Open_Unknown |
594 ( 43.6) |
|
Unknown |
0 ( 0.0) |
|
NA |
622 ( 45.7) |
| SURG_RAD_SEQ (%) |
Surg Alone |
1158 ( 85.1) |
|
Surg then Rad |
23 ( 1.7) |
|
Rad Alone |
52 ( 3.8) |
|
No Treatment |
106 ( 7.8) |
|
Other |
22 ( 1.6) |
|
Rad before and after Surg |
0 ( 0.0) |
|
Rad then Surg |
0 ( 0.0) |
| SURG_RAD_SEQ_C (%) |
Surg, No rad, No Chemo |
1119 ( 82.2) |
|
Surg then Rad, No Chemo |
20 ( 1.5) |
|
Surg then Rad, Yes Chemo |
3 ( 0.2) |
|
Surg, No rad, Yes Chemo |
10 ( 0.7) |
|
No Surg, No Rad, Yes Chemo |
9 ( 0.7) |
|
No Surg, No Rad, No Chemo |
95 ( 7.0) |
|
Other |
53 ( 3.9) |
|
Rad, No Surg, Yes Chemo |
9 ( 0.7) |
|
Rad, No Surg, No Chemo |
43 ( 3.2) |
|
Rad then Surg, Yes Chemo |
0 ( 0.0) |
|
Rad then Surg, No Chemo |
0 ( 0.0) |
|
Rad before and after Surg, Yes Chemo |
0 ( 0.0) |
|
Rad before and after Surg, No Chemo |
0 ( 0.0) |
| SURGERY_YN (%) |
No |
157 ( 11.5) |
|
Ukn |
8 ( 0.6) |
|
Yes |
1196 ( 87.9) |
| RADIATION_YN (%) |
No |
1269 ( 93.2) |
|
Yes |
75 ( 5.5) |
|
NA |
17 ( 1.2) |
| CHEMO_YN (%) |
No |
1288 ( 94.6) |
|
Yes |
31 ( 2.3) |
|
Ukn |
42 ( 3.1) |
| mets_at_dx (%) |
Bone |
5 ( 0.4) |
|
Brain |
0 ( 0.0) |
|
Liver |
0 ( 0.0) |
|
Lung |
0 ( 0.0) |
|
None/Other/Unk/NA |
1356 ( 99.6) |
| MEDICAID_EXPN_CODE (%) |
Non-Expansion State |
483 ( 35.5) |
|
Jan 2014 Expansion States |
450 ( 33.1) |
|
Early Expansion States (2010-13) |
239 ( 17.6) |
|
Late Expansion States (> Jan 2014) |
175 ( 12.9) |
|
Suppressed for Ages 0 - 39 |
14 ( 1.0) |
| EXPN_GROUP (%) |
Exclude |
14 ( 1.0) |
|
Post-Expansion |
247 ( 18.1) |
|
Pre-Expansion |
1100 ( 80.8) |
| SITE_TEXT (%) |
C00.0 External Lip: Upper NOS |
0 ( 0.0) |
|
C00.1 External Lip: Lower NOS |
0 ( 0.0) |
|
C00.2 External Lip: NOS |
0 ( 0.0) |
|
C00.3 Lip: Upper Mucosa |
0 ( 0.0) |
|
C00.4 Lip: Lower Mucosa |
0 ( 0.0) |
|
C00.5 Lip: Mucosa NOS |
0 ( 0.0) |
|
C00.6 Lip: Commissure |
0 ( 0.0) |
|
C00.8 Lip: Overlapping |
0 ( 0.0) |
|
C00.9 Lip, NOS |
0 ( 0.0) |
|
C44.0 Skin of lip, NOS |
0 ( 0.0) |
|
C44.1 Eyelid |
0 ( 0.0) |
|
C44.2 External ear |
2 ( 0.1) |
|
C44.3 Skin of ear and unspecified parts of face |
2 ( 0.1) |
|
C44.4 Skin of scalp and neck |
3 ( 0.2) |
|
C44.5 Skin of trunk |
287 ( 21.1) |
|
C44.6 Skin of upper limb and shoulder |
7 ( 0.5) |
|
C44.7 Skin of lower limb and hip |
12 ( 0.9) |
|
C44.8 Overlapping lesion of skin |
11 ( 0.8) |
|
C44.9 Skin, NOS |
19 ( 1.4) |
|
C50.0 Nipple |
1 ( 0.1) |
|
C51.0 Labium majus |
92 ( 6.8) |
|
C51.1 Labium minus |
15 ( 1.1) |
|
C51.2 Clitoris |
2 ( 0.1) |
|
C51.8 Overlapping lesion of vulva |
60 ( 4.4) |
|
C51.9 Vulva, NOS |
822 ( 60.4) |
|
C52.9 Vagina, NOS |
1 ( 0.1) |
|
C60.0 Prepuce |
0 ( 0.0) |
|
C60.1 Glans penis |
0 ( 0.0) |
|
C60.2 Body of penis |
1 ( 0.1) |
|
C60.8 Overlapping lesion of penis |
2 ( 0.1) |
|
C60.9 Penis |
22 ( 1.6) |
p_table(no_Excludes,
vars = c("FACILITY_TYPE_F", "FACILITY_LOCATION_F", "FACILITY_GEOGRAPHY", "AGE", "AGE_F", "AGE_40",
"SEX_F", "RACE_F", "HISPANIC", "INSURANCE_F",
"INCOME_F", "EDUCATION_F", "U_R_F", "CROWFLY", "CDCC_TOTAL_BEST",
"SITE_TEXT", "HISTOLOGY_F_LIM", "HISTOLOGY_F", "BEHAVIOR", "GRADE_F",
"DX_STAGING_PROC_DAYS", "TNM_CLIN_T", "TNM_CLIN_N", "TNM_CLIN_M",
"TNM_CLIN_STAGE_GROUP", "TNM_PATH_T", "TNM_PATH_N", "TNM_PATH_M",
"TNM_PATH_STAGE_GROUP", "DX_RX_STARTED_DAYS", "DX_SURG_STARTED_DAYS",
"DX_DEFSURG_STARTED_DAYS", "MARGINS", "MARGINS_YN", "SURG_DISCHARGE_DAYS",
"READM_HOSP_30_DAYS_F", "RX_SUMM_RADIATION_F", "PUF_30_DAY_MORT_CD_F",
"PUF_90_DAY_MORT_CD_F", "DX_LASTCONTACT_DEATH_MONTHS",
"LYMPH_VASCULAR_INVASION_F", "RX_HOSP_SURG_APPR_2010_F", "SURG_RAD_SEQ",
"SURG_RAD_SEQ_C", "T_SIZE", "SURGERY_YN", "RADIATION_YN", "CHEMO_YN", "mets_at_dx",
"MEDICAID_EXPN_CODE","SITE_TEXT"),
strata = "EXPN_GROUP")
The data frame does not have: SITE_TEXT.1 Dropped
| n |
|
144 |
562 |
|
|
| FACILITY_TYPE_F (%) |
Community Cancer Program |
2 ( 1.4) |
11 ( 2.0) |
<0.001 |
|
|
Comprehensive Comm Ca Program |
39 ( 27.1) |
211 ( 37.5) |
|
|
|
Academic/Research Program |
90 ( 62.5) |
231 ( 41.1) |
|
|
|
Integrated Network Ca Program |
13 ( 9.0) |
109 ( 19.4) |
|
|
| FACILITY_LOCATION_F (%) |
New England |
18 ( 12.5) |
18 ( 3.2) |
<0.001 |
|
|
Middle Atlantic |
31 ( 21.5) |
94 ( 16.7) |
|
|
|
South Atlantic |
7 ( 4.9) |
118 ( 21.0) |
|
|
|
East North Central |
14 ( 9.7) |
112 ( 19.9) |
|
|
|
East South Central |
4 ( 2.8) |
40 ( 7.1) |
|
|
|
West North Central |
24 ( 16.7) |
54 ( 9.6) |
|
|
|
West South Central |
0 ( 0.0) |
46 ( 8.2) |
|
|
|
Mountain |
2 ( 1.4) |
37 ( 6.6) |
|
|
|
Pacific |
44 ( 30.6) |
43 ( 7.7) |
|
|
| FACILITY_GEOGRAPHY (%) |
Northeast |
49 ( 34.0) |
112 ( 19.9) |
<0.001 |
|
|
South |
7 ( 4.9) |
164 ( 29.2) |
|
|
|
Midwest |
42 ( 29.2) |
206 ( 36.7) |
|
|
|
West |
46 ( 31.9) |
80 ( 14.2) |
|
|
| AGE (mean (sd)) |
|
70.54 (12.26) |
70.72 (11.57) |
0.869 |
|
| AGE_F (%) |
(0,54] |
14 ( 9.7) |
55 ( 9.8) |
0.802 |
|
|
(54,64] |
31 ( 21.5) |
115 ( 20.5) |
|
|
|
(64,74] |
48 ( 33.3) |
169 ( 30.1) |
|
|
|
(74,100] |
51 ( 35.4) |
223 ( 39.7) |
|
|
| AGE_40 (%) |
(0,40] |
0 ( 0.0) |
2 ( 0.4) |
1.000 |
|
|
(40,100] |
144 (100.0) |
560 ( 99.6) |
|
|
| SEX_F (%) |
Male |
29 ( 20.1) |
104 ( 18.5) |
0.743 |
|
|
Female |
115 ( 79.9) |
458 ( 81.5) |
|
|
| RACE_F (%) |
White |
127 ( 88.2) |
508 ( 90.4) |
0.360 |
|
|
Black |
4 ( 2.8) |
12 ( 2.1) |
|
|
|
Other/Unk |
2 ( 1.4) |
16 ( 2.8) |
|
|
|
Asian |
11 ( 7.6) |
26 ( 4.6) |
|
|
| HISPANIC (%) |
No |
138 ( 95.8) |
511 ( 90.9) |
0.096 |
|
|
Yes |
4 ( 2.8) |
20 ( 3.6) |
|
|
|
Unknown |
2 ( 1.4) |
31 ( 5.5) |
|
|
| INSURANCE_F (%) |
Private |
52 ( 36.1) |
187 ( 33.3) |
0.900 |
|
|
None |
2 ( 1.4) |
9 ( 1.6) |
|
|
|
Medicaid |
4 ( 2.8) |
12 ( 2.1) |
|
|
|
Medicare |
85 ( 59.0) |
352 ( 62.6) |
|
|
|
Other Government |
1 ( 0.7) |
2 ( 0.4) |
|
|
| INCOME_F (%) |
Less than $38,000 |
11 ( 7.6) |
71 ( 12.6) |
<0.001 |
|
|
$38,000 - $47,999 |
22 ( 15.3) |
145 ( 25.8) |
|
|
|
$48,000 - $62,999 |
32 ( 22.2) |
149 ( 26.5) |
|
|
|
$63,000 + |
78 ( 54.2) |
195 ( 34.7) |
|
|
|
NA |
1 ( 0.7) |
2 ( 0.4) |
|
|
| EDUCATION_F (%) |
21% or more |
21 ( 14.6) |
69 ( 12.3) |
0.656 |
|
|
13 - 20.9% |
28 ( 19.4) |
120 ( 21.4) |
|
|
|
7 - 12.9% |
48 ( 33.3) |
215 ( 38.3) |
|
|
|
Less than 7% |
46 ( 31.9) |
156 ( 27.8) |
|
|
|
NA |
1 ( 0.7) |
2 ( 0.4) |
|
|
| U_R_F (%) |
Metro |
121 ( 84.0) |
471 ( 83.8) |
0.049 |
|
|
Urban |
13 ( 9.0) |
67 ( 11.9) |
|
|
|
Rural |
2 ( 1.4) |
14 ( 2.5) |
|
|
|
NA |
8 ( 5.6) |
10 ( 1.8) |
|
|
| CROWFLY (mean (sd)) |
|
31.80 (96.50) |
32.75 (91.19) |
0.912 |
|
| CDCC_TOTAL_BEST (%) |
0 |
112 ( 77.8) |
445 ( 79.2) |
0.968 |
|
|
1 |
26 ( 18.1) |
92 ( 16.4) |
|
|
|
2 |
4 ( 2.8) |
16 ( 2.8) |
|
|
|
3 |
2 ( 1.4) |
9 ( 1.6) |
|
|
| SITE_TEXT (%) |
C44.2 External ear |
0 ( 0.0) |
1 ( 0.2) |
0.634 |
|
|
C44.3 Skin of ear and unspecified parts of face |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
C44.4 Skin of scalp and neck |
1 ( 0.7) |
1 ( 0.2) |
|
|
|
C44.5 Skin of trunk |
29 ( 20.1) |
106 ( 18.9) |
|
|
|
C44.6 Skin of upper limb and shoulder |
2 ( 1.4) |
3 ( 0.5) |
|
|
|
C44.7 Skin of lower limb and hip |
2 ( 1.4) |
6 ( 1.1) |
|
|
|
C44.8 Overlapping lesion of skin |
1 ( 0.7) |
5 ( 0.9) |
|
|
|
C44.9 Skin, NOS |
2 ( 1.4) |
7 ( 1.2) |
|
|
|
C50.0 Nipple |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
C51.0 Labium majus |
12 ( 8.3) |
42 ( 7.5) |
|
|
|
C51.1 Labium minus |
2 ( 1.4) |
8 ( 1.4) |
|
|
|
C51.2 Clitoris |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
C51.8 Overlapping lesion of vulva |
3 ( 2.1) |
21 ( 3.7) |
|
|
|
C51.9 Vulva, NOS |
84 ( 58.3) |
348 ( 61.9) |
|
|
|
C60.8 Overlapping lesion of penis |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
C60.9 Penis |
4 ( 2.8) |
12 ( 2.1) |
|
|
| HISTOLOGY_F_LIM (%) |
Other |
144 (100.0) |
562 (100.0) |
NA |
|
| HISTOLOGY_F (%) |
8542 |
144 (100.0) |
562 (100.0) |
NA |
|
| BEHAVIOR (%) |
3 |
144 (100.0) |
562 (100.0) |
NA |
|
| GRADE_F (%) |
Gr I: Well Diff |
5 ( 3.5) |
21 ( 3.7) |
0.885 |
|
|
Gr II: Mod Diff |
5 ( 3.5) |
13 ( 2.3) |
|
|
|
Gr III: Poor Diff |
3 ( 2.1) |
11 ( 2.0) |
|
|
|
NA/Unkown |
131 ( 91.0) |
517 ( 92.0) |
|
|
| DX_STAGING_PROC_DAYS (mean (sd)) |
|
1.36 (8.20) |
1.54 (13.80) |
0.890 |
|
| TNM_CLIN_T (%) |
c0 |
0 ( 0.0) |
2 ( 0.4) |
0.048 |
|
|
c1 |
18 ( 12.5) |
63 ( 11.2) |
|
|
|
c1A |
23 ( 16.0) |
74 ( 13.2) |
|
|
|
c1B |
32 ( 22.2) |
67 ( 11.9) |
|
|
|
c2 |
19 ( 13.2) |
75 ( 13.3) |
|
|
|
c3 |
0 ( 0.0) |
9 ( 1.6) |
|
|
|
c4 |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
cX |
45 ( 31.2) |
244 ( 43.4) |
|
|
|
pIS |
5 ( 3.5) |
16 ( 2.8) |
|
|
|
NA |
2 ( 1.4) |
11 ( 2.0) |
|
|
| TNM_CLIN_N (%) |
c0 |
126 ( 87.5) |
406 ( 72.2) |
0.001 |
|
|
c1 |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
c2C |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
cX |
17 ( 11.8) |
153 ( 27.2) |
|
|
|
NA |
0 ( 0.0) |
2 ( 0.4) |
|
|
| TNM_CLIN_M (%) |
c0 |
144 (100.0) |
562 (100.0) |
NA |
|
| TNM_CLIN_STAGE_GROUP (%) |
0 |
5 ( 3.5) |
32 ( 5.7) |
0.116 |
|
|
1 |
23 ( 16.0) |
90 ( 16.0) |
|
|
|
1A |
17 ( 11.8) |
57 ( 10.1) |
|
|
|
1B |
29 ( 20.1) |
60 ( 10.7) |
|
|
|
2 |
19 ( 13.2) |
75 ( 13.3) |
|
|
|
3 |
0 ( 0.0) |
5 ( 0.9) |
|
|
|
4 |
1 ( 0.7) |
1 ( 0.2) |
|
|
|
4A |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
4B |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
99 |
50 ( 34.7) |
240 ( 42.7) |
|
|
| TNM_PATH_T (%) |
p0 |
0 ( 0.0) |
4 ( 0.7) |
<0.001 |
|
|
p1 |
14 ( 9.7) |
37 ( 6.6) |
|
|
|
p1A |
23 ( 16.0) |
75 ( 13.3) |
|
|
|
p1B |
33 ( 22.9) |
72 ( 12.8) |
|
|
|
p2 |
12 ( 8.3) |
52 ( 9.3) |
|
|
|
p3 |
0 ( 0.0) |
5 ( 0.9) |
|
|
|
pIS |
2 ( 1.4) |
15 ( 2.7) |
|
|
|
pX |
29 ( 20.1) |
259 ( 46.1) |
|
|
|
NA |
31 ( 21.5) |
43 ( 7.7) |
|
|
| TNM_PATH_N (%) |
p0 |
30 ( 20.8) |
118 ( 21.0) |
<0.001 |
|
|
p1 |
0 ( 0.0) |
3 ( 0.5) |
|
|
|
p1B |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
p2C |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
pX |
70 ( 48.6) |
377 ( 67.1) |
|
|
|
NA |
43 ( 29.9) |
63 ( 11.2) |
|
|
| TNM_PATH_M (%) |
p1 |
0 ( 0.0) |
1 ( 0.2) |
<0.001 |
|
|
pX |
0 ( 0.0) |
255 ( 45.4) |
|
|
|
NA |
144 (100.0) |
306 ( 54.4) |
|
|
| TNM_PATH_STAGE_GROUP (%) |
0 |
2 ( 1.4) |
29 ( 5.2) |
<0.001 |
|
|
1 |
12 ( 8.3) |
46 ( 8.2) |
|
|
|
1A |
16 ( 11.1) |
48 ( 8.5) |
|
|
|
1B |
22 ( 15.3) |
37 ( 6.6) |
|
|
|
2 |
8 ( 5.6) |
42 ( 7.5) |
|
|
|
3 |
0 ( 0.0) |
8 ( 1.4) |
|
|
|
3A |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
4A |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
4B |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
99 |
65 ( 45.1) |
325 ( 57.8) |
|
|
|
NA |
18 ( 12.5) |
25 ( 4.4) |
|
|
| DX_RX_STARTED_DAYS (mean (sd)) |
|
49.87 (39.28) |
46.72 (169.07) |
0.830 |
|
| DX_SURG_STARTED_DAYS (mean (sd)) |
|
50.34 (40.61) |
45.44 (174.02) |
0.763 |
|
| DX_DEFSURG_STARTED_DAYS (mean (sd)) |
|
64.22 (81.18) |
56.07 (191.74) |
0.654 |
|
| MARGINS (%) |
No Residual |
59 ( 41.0) |
248 ( 44.1) |
0.096 |
|
|
Residual, NOS |
10 ( 6.9) |
67 ( 11.9) |
|
|
|
Microscopic Resid |
39 ( 27.1) |
152 ( 27.0) |
|
|
|
Macroscopic Resid |
2 ( 1.4) |
7 ( 1.2) |
|
|
|
Not evaluable |
4 ( 2.8) |
4 ( 0.7) |
|
|
|
No surg |
26 ( 18.1) |
66 ( 11.7) |
|
|
|
Unknown |
4 ( 2.8) |
18 ( 3.2) |
|
|
| MARGINS_YN (%) |
No |
59 ( 41.0) |
248 ( 44.1) |
0.077 |
|
|
Yes |
51 ( 35.4) |
226 ( 40.2) |
|
|
|
No surg/Unk/NA |
34 ( 23.6) |
88 ( 15.7) |
|
|
| SURG_DISCHARGE_DAYS (mean (sd)) |
|
1.57 (4.00) |
1.77 (6.61) |
0.756 |
|
| READM_HOSP_30_DAYS_F (%) |
No_Surg_or_No_Readmit |
137 ( 95.1) |
529 ( 94.1) |
0.349 |
|
|
Unplan_Readmit_Same |
2 ( 1.4) |
18 ( 3.2) |
|
|
|
Plan_Readmit_Same |
4 ( 2.8) |
6 ( 1.1) |
|
|
|
PlanUnplan_Same |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
9 |
1 ( 0.7) |
8 ( 1.4) |
|
|
| RX_SUMM_RADIATION_F (%) |
None |
138 ( 95.8) |
528 ( 94.0) |
0.149 |
|
|
Beam Radiation |
4 ( 2.8) |
27 ( 4.8) |
|
|
|
Radioactive Implants |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
Unknown |
1 ( 0.7) |
7 ( 1.2) |
|
|
| PUF_30_DAY_MORT_CD_F (%) |
Alive_30 |
111 ( 77.1) |
484 ( 86.1) |
0.015 |
|
|
Dead_30 |
1 ( 0.7) |
3 ( 0.5) |
|
|
|
Unknown |
6 ( 4.2) |
6 ( 1.1) |
|
|
|
NA |
26 ( 18.1) |
69 ( 12.3) |
|
|
| PUF_90_DAY_MORT_CD_F (%) |
Alive_90 |
110 ( 76.4) |
476 ( 84.7) |
0.093 |
|
|
Dead_90 |
1 ( 0.7) |
4 ( 0.7) |
|
|
|
Unknown |
7 ( 4.9) |
13 ( 2.3) |
|
|
|
NA |
26 ( 18.1) |
69 ( 12.3) |
|
|
| DX_LASTCONTACT_DEATH_MONTHS (mean (sd)) |
|
30.92 (21.03) |
60.22 (38.34) |
<0.001 |
|
| LYMPH_VASCULAR_INVASION_F (%) |
Neg_LymphVasc_Inv |
44 ( 30.6) |
128 ( 22.8) |
<0.001 |
|
|
Pos_LumphVasc_Inv |
4 ( 2.8) |
9 ( 1.6) |
|
|
|
N_A |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
Unknown |
95 ( 66.0) |
170 ( 30.2) |
|
|
|
NA |
0 ( 0.0) |
255 ( 45.4) |
|
|
| RX_HOSP_SURG_APPR_2010_F (%) |
No_Surg |
26 ( 18.1) |
34 ( 6.0) |
<0.001 |
|
|
Robot_Assist |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
Endo_Lap |
3 ( 2.1) |
11 ( 2.0) |
|
|
|
Endo_Lap_to_Open |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
Open_Unknown |
115 ( 79.9) |
260 ( 46.3) |
|
|
|
NA |
0 ( 0.0) |
255 ( 45.4) |
|
|
| SURG_RAD_SEQ (%) |
Surg Alone |
115 ( 79.9) |
485 ( 86.3) |
0.013 |
|
|
Surg then Rad |
2 ( 1.4) |
4 ( 0.7) |
|
|
|
Rad Alone |
3 ( 2.1) |
23 ( 4.1) |
|
|
|
No Treatment |
23 ( 16.0) |
41 ( 7.3) |
|
|
|
Other |
1 ( 0.7) |
9 ( 1.6) |
|
|
| SURG_RAD_SEQ_C (%) |
Surg, No rad, No Chemo |
112 ( 77.8) |
471 ( 83.8) |
0.060 |
|
|
Surg then Rad, No Chemo |
2 ( 1.4) |
4 ( 0.7) |
|
|
|
Surg, No rad, Yes Chemo |
1 ( 0.7) |
4 ( 0.7) |
|
|
|
No Surg, No Rad, Yes Chemo |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
No Surg, No Rad, No Chemo |
21 ( 14.6) |
41 ( 7.3) |
|
|
|
Other |
4 ( 2.8) |
19 ( 3.4) |
|
|
|
Rad, No Surg, Yes Chemo |
0 ( 0.0) |
2 ( 0.4) |
|
|
|
Rad, No Surg, No Chemo |
3 ( 2.1) |
21 ( 3.7) |
|
|
| T_SIZE (%) |
Microscopic focus |
3 ( 2.1) |
9 ( 1.6) |
0.098 |
|
|
< 1 cm |
12 ( 8.3) |
52 ( 9.3) |
|
|
|
1-2 cm |
5 ( 3.5) |
48 ( 8.5) |
|
|
|
2-3 cm |
14 ( 9.7) |
39 ( 6.9) |
|
|
|
3-4 cm |
11 ( 7.6) |
57 ( 10.1) |
|
|
|
4-5 cm |
16 ( 11.1) |
28 ( 5.0) |
|
|
|
5-6 cm |
7 ( 4.9) |
28 ( 5.0) |
|
|
|
>6 cm |
20 ( 13.9) |
69 ( 12.3) |
|
|
|
NA_unk |
56 ( 38.9) |
232 ( 41.3) |
|
|
| SURGERY_YN (%) |
No |
26 ( 18.1) |
64 ( 11.4) |
0.072 |
|
|
Ukn |
0 ( 0.0) |
3 ( 0.5) |
|
|
|
Yes |
118 ( 81.9) |
495 ( 88.1) |
|
|
| RADIATION_YN (%) |
No |
138 ( 95.8) |
528 ( 94.0) |
0.671 |
|
|
Yes |
5 ( 3.5) |
27 ( 4.8) |
|
|
|
NA |
1 ( 0.7) |
7 ( 1.2) |
|
|
| CHEMO_YN (%) |
No |
139 ( 96.5) |
542 ( 96.4) |
0.912 |
|
|
Yes |
2 ( 1.4) |
6 ( 1.1) |
|
|
|
Ukn |
3 ( 2.1) |
14 ( 2.5) |
|
|
| mets_at_dx (%) |
None/Other/Unk/NA |
144 (100.0) |
562 (100.0) |
NA |
|
| MEDICAID_EXPN_CODE (%) |
Non-Expansion State |
0 ( 0.0) |
244 ( 43.4) |
<0.001 |
|
|
Jan 2014 Expansion States |
68 ( 47.2) |
172 ( 30.6) |
|
|
|
Early Expansion States (2010-13) |
76 ( 52.8) |
44 ( 7.8) |
|
|
|
Late Expansion States (> Jan 2014) |
0 ( 0.0) |
102 ( 18.1) |
|
|
| SITE_TEXT (%) |
C44.2 External ear |
0 ( 0.0) |
1 ( 0.2) |
0.634 |
|
|
C44.3 Skin of ear and unspecified parts of face |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
C44.4 Skin of scalp and neck |
1 ( 0.7) |
1 ( 0.2) |
|
|
|
C44.5 Skin of trunk |
29 ( 20.1) |
106 ( 18.9) |
|
|
|
C44.6 Skin of upper limb and shoulder |
2 ( 1.4) |
3 ( 0.5) |
|
|
|
C44.7 Skin of lower limb and hip |
2 ( 1.4) |
6 ( 1.1) |
|
|
|
C44.8 Overlapping lesion of skin |
1 ( 0.7) |
5 ( 0.9) |
|
|
|
C44.9 Skin, NOS |
2 ( 1.4) |
7 ( 1.2) |
|
|
|
C50.0 Nipple |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
C51.0 Labium majus |
12 ( 8.3) |
42 ( 7.5) |
|
|
|
C51.1 Labium minus |
2 ( 1.4) |
8 ( 1.4) |
|
|
|
C51.2 Clitoris |
0 ( 0.0) |
1 ( 0.2) |
|
|
|
C51.8 Overlapping lesion of vulva |
3 ( 2.1) |
21 ( 3.7) |
|
|
|
C51.9 Vulva, NOS |
84 ( 58.3) |
348 ( 61.9) |
|
|
|
C60.8 Overlapping lesion of penis |
1 ( 0.7) |
0 ( 0.0) |
|
|
|
C60.9 Penis |
4 ( 2.8) |
12 ( 2.1) |
|
|
p_table(data,
vars = c("YEAR_OF_DIAGNOSIS"),
strata = c("MEDICAID_EXPN_CODE"))
| n |
|
483 |
450 |
239 |
175 |
14 |
|
|
| YEAR_OF_DIAGNOSIS (%) |
2004 |
32 (6.6) |
23 ( 5.1) |
19 ( 7.9) |
9 ( 5.1) |
1 ( 7.1) |
NaN |
|
|
2005 |
40 (8.3) |
32 ( 7.1) |
8 ( 3.3) |
8 ( 4.6) |
1 ( 7.1) |
|
|
|
2006 |
31 (6.4) |
37 ( 8.2) |
20 ( 8.4) |
12 ( 6.9) |
2 (14.3) |
|
|
|
2007 |
44 (9.1) |
39 ( 8.7) |
13 ( 5.4) |
15 ( 8.6) |
3 (21.4) |
|
|
|
2008 |
48 (9.9) |
37 ( 8.2) |
20 ( 8.4) |
18 (10.3) |
0 ( 0.0) |
|
|
|
2009 |
37 (7.7) |
38 ( 8.4) |
20 ( 8.4) |
15 ( 8.6) |
0 ( 0.0) |
|
|
|
2010 |
33 (6.8) |
43 ( 9.6) |
26 (10.9) |
15 ( 8.6) |
0 ( 0.0) |
|
|
|
2011 |
44 (9.1) |
32 ( 7.1) |
25 (10.5) |
23 (13.1) |
1 ( 7.1) |
|
|
|
2012 |
44 (9.1) |
28 ( 6.2) |
18 ( 7.5) |
11 ( 6.3) |
2 (14.3) |
|
|
|
2013 |
47 (9.7) |
33 ( 7.3) |
23 ( 9.6) |
14 ( 8.0) |
1 ( 7.1) |
|
|
|
2014 |
40 (8.3) |
42 ( 9.3) |
19 ( 7.9) |
20 (11.4) |
1 ( 7.1) |
|
|
|
2015 |
43 (8.9) |
66 (14.7) |
28 (11.7) |
15 ( 8.6) |
2 (14.3) |
|
|
|
2016 |
0 (0.0) |
0 ( 0.0) |
0 ( 0.0) |
0 ( 0.0) |
0 ( 0.0) |
|
|
preExpMedicare <- nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion" & INSURANCE_F == "Medicare"))
postExpMedicare <- nrow(data %>% filter(EXPN_GROUP == "Post-Expansion" & INSURANCE_F == "Medicare"))
# p = 0.25 when comparing change in proportion of patients with Medicare before and after ACA expansion
prop.test(c(preExpMedicare, postExpMedicare),
c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% filter(EXPN_GROUP == "Post-Expansion"))))
2-sample test for equality of proportions with continuity correction
data: c(preExpMedicare, postExpMedicare) out of c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% c(preExpMedicare, postExpMedicare) out of filter(EXPN_GROUP == "Post-Expansion")))
X-squared = 0.098797, df = 1, p-value = 0.7533
alternative hypothesis: two.sided
95 percent confidence interval:
-0.05645737 0.08287621
sample estimates:
prop 1 prop 2
0.6245455 0.6113360
preExpNoInsurance <- nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion") %>%
filter(INSURANCE_F == "None"))
postExpNoInsurance <- nrow(data %>% filter(EXPN_GROUP == "Post-Expansion") %>%
filter(INSURANCE_F == "None"))
# Significant decrease in the overall proportion of patients without insurance after ACA expansion
prop.test(c(preExpNoInsurance, postExpNoInsurance),
c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% filter(EXPN_GROUP == "Post-Expansion"))))
Chi-squared approximation may be incorrect
2-sample test for equality of proportions with continuity correction
data: c(preExpNoInsurance, postExpNoInsurance) out of c(nrow(data %>% filter(EXPN_GROUP == "Pre-Expansion")), nrow(data %>% c(preExpNoInsurance, postExpNoInsurance) out of filter(EXPN_GROUP == "Post-Expansion")))
X-squared = 2.7058e-30, df = 1, p-value = 1
alternative hypothesis: two.sided
95 percent confidence interval:
-0.01743541 0.01777402
sample estimates:
prop 1 prop 2
0.01636364 0.01619433
p_table(no_Excludes, strata = "EXPN_GROUP", vars = "DX_RX_STARTED_DAYS")
| n |
|
144 |
562 |
|
|
| DX_RX_STARTED_DAYS (mean (sd)) |
|
49.87 (39.28) |
46.72 (169.07) |
0.830 |
|
data <- data %>% mutate(Insured = INSURANCE_F != "Unknown")
Kaplan Meier Analysis
All
uni_var(test_var = "All", data_imp = data)
_________________________________________________
## All
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ All, data = data)
n events median 0.95LCL 0.95UCL
1361 329 142 128 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ All, data = data)
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1185 48 0.963 0.00527 0.953 0.973
24 1033 52 0.919 0.00782 0.903 0.934
36 865 40 0.880 0.00956 0.862 0.899
48 724 34 0.843 0.01106 0.822 0.865
60 592 44 0.789 0.01308 0.763 0.815
120 125 95 0.586 0.02187 0.545 0.631
## Univariable Cox Proportional Hazard Model for: All
[1] "Only one level, no Cox model performed"
## Unadjusted Kaplan Meier Overall Survival Curve for: All



Facility Type
uni_var(test_var = "FACILITY_TYPE_F", data_imp = data)
_________________________________________________
## FACILITY_TYPE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_TYPE_F, data = data)
14 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
FACILITY_TYPE_F=Community Cancer Program 31 8 NA 79.8 NA
FACILITY_TYPE_F=Comprehensive Comm Ca Program 462 126 128 115.9 NA
FACILITY_TYPE_F=Academic/Research Program 654 144 155 126.1 NA
FACILITY_TYPE_F=Integrated Network Ca Program 200 51 131 120.9 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_TYPE_F, data = data)
14 observations deleted due to missingness
FACILITY_TYPE_F=Community Cancer Program
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 26 1 0.963 0.0363 0.894 1.000
24 23 1 0.926 0.0504 0.832 1.000
36 19 1 0.882 0.0645 0.764 1.000
48 15 0 0.882 0.0645 0.764 1.000
60 14 1 0.823 0.0827 0.676 1.000
120 5 4 0.525 0.1366 0.316 0.875
FACILITY_TYPE_F=Comprehensive Comm Ca Program
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 393 24 0.946 0.0108 0.925 0.967
24 345 18 0.901 0.0145 0.873 0.930
36 294 14 0.862 0.0172 0.829 0.897
48 250 17 0.811 0.0203 0.772 0.851
60 197 16 0.753 0.0234 0.708 0.800
120 34 31 0.555 0.0384 0.484 0.635
FACILITY_TYPE_F=Academic/Research Program
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 581 15 0.976 0.00624 0.963 0.988
24 505 24 0.933 0.01037 0.913 0.954
36 417 20 0.893 0.01323 0.868 0.919
48 352 10 0.870 0.01476 0.842 0.900
60 294 20 0.818 0.01792 0.784 0.854
120 64 48 0.597 0.03241 0.537 0.664
FACILITY_TYPE_F=Integrated Network Ca Program
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 174 8 0.958 0.0147 0.929 0.987
24 149 9 0.905 0.0220 0.863 0.949
36 127 5 0.872 0.0257 0.823 0.924
48 100 7 0.819 0.0309 0.761 0.882
60 80 7 0.759 0.0361 0.692 0.833
120 19 12 0.596 0.0533 0.501 0.710
## Univariable Cox Proportional Hazard Model for: FACILITY_TYPE_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_TYPE_F, data = data)
n= 1347, number of events= 329
(14 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
FACILITY_TYPE_FComprehensive Comm Ca Program 0.09866 1.10370 0.36480 0.270 0.787
FACILITY_TYPE_FAcademic/Research Program -0.16091 0.85137 0.36339 -0.443 0.658
FACILITY_TYPE_FIntegrated Network Ca Program 0.03599 1.03664 0.38046 0.095 0.925
exp(coef) exp(-coef) lower .95 upper .95
FACILITY_TYPE_FComprehensive Comm Ca Program 1.1037 0.9060 0.5399 2.256
FACILITY_TYPE_FAcademic/Research Program 0.8514 1.1746 0.4176 1.736
FACILITY_TYPE_FIntegrated Network Ca Program 1.0366 0.9647 0.4918 2.185
Concordance= 0.543 (se = 0.016 )
Rsquare= 0.004 (max possible= 0.957 )
Likelihood ratio test= 4.79 on 3 df, p=0.1877
Wald test = 4.77 on 3 df, p=0.189
Score (logrank) test = 4.8 on 3 df, p=0.1871
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: FACILITY_TYPE_F



Facility Location
uni_var(test_var = "FACILITY_LOCATION_F", data_imp = data)
_________________________________________________
## FACILITY_LOCATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_LOCATION_F, data = data)
14 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
FACILITY_LOCATION_F=New England 59 18 111 70.2 NA
FACILITY_LOCATION_F=Middle Atlantic 231 52 NA 115.0 NA
FACILITY_LOCATION_F=South Atlantic 256 51 NA 126.1 NA
FACILITY_LOCATION_F=East North Central 222 60 133 105.8 NA
FACILITY_LOCATION_F=East South Central 89 20 133 110.7 NA
FACILITY_LOCATION_F=West North Central 141 38 125 84.9 NA
FACILITY_LOCATION_F=West South Central 99 26 NA 125.6 NA
FACILITY_LOCATION_F=Mountain 79 25 128 106.7 NA
FACILITY_LOCATION_F=Pacific 171 39 150 149.6 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_LOCATION_F, data = data)
14 observations deleted due to missingness
FACILITY_LOCATION_F=New England
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 52 2 0.964 0.0253 0.915 1.000
24 43 3 0.905 0.0404 0.829 0.988
36 37 0 0.905 0.0404 0.829 0.988
48 30 3 0.823 0.0583 0.716 0.946
60 21 4 0.700 0.0756 0.567 0.865
120 4 5 0.429 0.1213 0.247 0.747
FACILITY_LOCATION_F=Middle Atlantic
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 213 4 0.982 0.00896 0.965 1.000
24 180 12 0.923 0.01846 0.888 0.960
36 146 6 0.890 0.02227 0.847 0.935
48 118 8 0.837 0.02768 0.785 0.893
60 98 6 0.793 0.03150 0.734 0.858
120 19 16 0.577 0.05660 0.476 0.700
FACILITY_LOCATION_F=South Atlantic
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 225 7 0.971 0.0107 0.950 0.992
24 208 3 0.957 0.0132 0.932 0.984
36 179 8 0.919 0.0185 0.883 0.956
48 152 6 0.886 0.0221 0.844 0.931
60 128 8 0.836 0.0270 0.785 0.891
120 28 16 0.651 0.0493 0.562 0.756
FACILITY_LOCATION_F=East North Central
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 198 10 0.954 0.0143 0.926 0.982
24 178 6 0.924 0.0183 0.889 0.960
36 151 7 0.884 0.0229 0.840 0.930
48 125 5 0.852 0.0261 0.803 0.905
60 105 8 0.795 0.0313 0.736 0.859
120 18 22 0.537 0.0545 0.440 0.655
FACILITY_LOCATION_F=East South Central
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 74 2 0.976 0.0165 0.945 1.000
24 67 3 0.935 0.0283 0.881 0.992
36 54 4 0.872 0.0401 0.797 0.955
48 48 1 0.856 0.0427 0.776 0.944
60 36 3 0.795 0.0521 0.700 0.904
120 7 6 0.604 0.0826 0.461 0.789
FACILITY_LOCATION_F=West North Central
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 119 4 0.970 0.0150 0.941 0.999
24 98 9 0.892 0.0284 0.838 0.949
36 80 3 0.861 0.0325 0.800 0.927
48 59 7 0.781 0.0413 0.704 0.867
60 47 2 0.753 0.0444 0.671 0.845
120 11 9 0.536 0.0719 0.412 0.697
FACILITY_LOCATION_F=West South Central
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 81 5 0.945 0.0241 0.899 0.993
24 73 4 0.897 0.0327 0.835 0.963
36 66 3 0.860 0.0377 0.789 0.937
48 59 2 0.833 0.0411 0.756 0.917
60 46 5 0.757 0.0494 0.666 0.860
120 8 6 0.622 0.0662 0.505 0.767
FACILITY_LOCATION_F=Mountain
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 70 4 0.946 0.0261 0.896 0.999
24 60 3 0.904 0.0346 0.839 0.974
36 51 3 0.856 0.0425 0.776 0.943
48 44 2 0.820 0.0476 0.732 0.919
60 38 3 0.761 0.0550 0.661 0.877
120 12 8 0.533 0.0805 0.397 0.717
FACILITY_LOCATION_F=Pacific
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 142 10 0.939 0.0188 0.903 0.976
24 115 9 0.876 0.0267 0.825 0.930
36 93 6 0.828 0.0318 0.768 0.892
48 82 0 0.828 0.0318 0.768 0.892
60 66 5 0.772 0.0382 0.700 0.850
120 15 7 0.640 0.0577 0.536 0.763
## Univariable Cox Proportional Hazard Model for: FACILITY_LOCATION_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_LOCATION_F, data = data)
n= 1347, number of events= 329
(14 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
FACILITY_LOCATION_FMiddle Atlantic -0.42021 0.65691 0.27365 -1.536 0.125
FACILITY_LOCATION_FSouth Atlantic -0.66094 0.51636 0.27445 -2.408 0.016 *
FACILITY_LOCATION_FEast North Central -0.32038 0.72587 0.26897 -1.191 0.234
FACILITY_LOCATION_FEast South Central -0.45756 0.63283 0.32517 -1.407 0.159
FACILITY_LOCATION_FWest North Central -0.08662 0.91703 0.28619 -0.303 0.762
FACILITY_LOCATION_FWest South Central -0.34167 0.71058 0.30694 -1.113 0.266
FACILITY_LOCATION_FMountain -0.22838 0.79583 0.30968 -0.737 0.461
FACILITY_LOCATION_FPacific -0.34792 0.70616 0.28520 -1.220 0.223
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
FACILITY_LOCATION_FMiddle Atlantic 0.6569 1.522 0.3842 1.1231
FACILITY_LOCATION_FSouth Atlantic 0.5164 1.937 0.3015 0.8842
FACILITY_LOCATION_FEast North Central 0.7259 1.378 0.4285 1.2297
FACILITY_LOCATION_FEast South Central 0.6328 1.580 0.3346 1.1969
FACILITY_LOCATION_FWest North Central 0.9170 1.090 0.5233 1.6069
FACILITY_LOCATION_FWest South Central 0.7106 1.407 0.3894 1.2968
FACILITY_LOCATION_FMountain 0.7958 1.257 0.4337 1.4602
FACILITY_LOCATION_FPacific 0.7062 1.416 0.4038 1.2350
Concordance= 0.547 (se = 0.018 )
Rsquare= 0.008 (max possible= 0.957 )
Likelihood ratio test= 10.67 on 8 df, p=0.2212
Wald test = 10.66 on 8 df, p=0.2217
Score (logrank) test = 10.83 on 8 df, p=0.2118
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: FACILITY_LOCATION_F



Facility Geography
uni_var(test_var = "FACILITY_GEOGRAPHY", data_imp = data)
_________________________________________________
## FACILITY_GEOGRAPHY
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_GEOGRAPHY, data = data)
14 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
FACILITY_GEOGRAPHY=Northeast 290 70 NA 111 NA
FACILITY_GEOGRAPHY=South 355 77 NA 126 NA
FACILITY_GEOGRAPHY=Midwest 452 118 126 111 NA
FACILITY_GEOGRAPHY=West 250 64 150 128 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_GEOGRAPHY, data = data)
14 observations deleted due to missingness
FACILITY_GEOGRAPHY=Northeast
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 265 6 0.978 0.00875 0.961 0.996
24 223 15 0.920 0.01682 0.887 0.953
36 183 6 0.893 0.01957 0.856 0.932
48 148 11 0.835 0.02496 0.787 0.885
60 119 10 0.776 0.02940 0.720 0.836
120 23 21 0.549 0.05180 0.456 0.660
FACILITY_GEOGRAPHY=South
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 306 12 0.964 0.0103 0.944 0.984
24 281 7 0.941 0.0132 0.915 0.967
36 245 11 0.903 0.0170 0.870 0.936
48 211 8 0.872 0.0196 0.834 0.911
60 174 13 0.814 0.0240 0.768 0.862
120 36 22 0.641 0.0407 0.566 0.726
FACILITY_GEOGRAPHY=Midwest
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 391 16 0.963 0.0091 0.945 0.981
24 343 18 0.917 0.0137 0.890 0.944
36 285 14 0.875 0.0170 0.843 0.909
48 232 13 0.833 0.0198 0.795 0.873
60 188 13 0.783 0.0230 0.739 0.829
120 36 37 0.549 0.0387 0.478 0.630
FACILITY_GEOGRAPHY=West
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 212 14 0.941 0.0153 0.912 0.972
24 175 12 0.885 0.0212 0.845 0.928
36 144 9 0.837 0.0255 0.788 0.888
48 126 2 0.824 0.0267 0.773 0.878
60 104 8 0.767 0.0315 0.708 0.832
120 27 15 0.591 0.0493 0.502 0.696
## Univariable Cox Proportional Hazard Model for: FACILITY_GEOGRAPHY
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ FACILITY_GEOGRAPHY, data = data)
n= 1347, number of events= 329
(14 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
FACILITY_GEOGRAPHYSouth -0.23584 0.78991 0.16534 -1.426 0.154
FACILITY_GEOGRAPHYMidwest 0.05073 1.05204 0.15096 0.336 0.737
FACILITY_GEOGRAPHYWest 0.02544 1.02577 0.17316 0.147 0.883
exp(coef) exp(-coef) lower .95 upper .95
FACILITY_GEOGRAPHYSouth 0.7899 1.2660 0.5713 1.092
FACILITY_GEOGRAPHYMidwest 1.0520 0.9505 0.7826 1.414
FACILITY_GEOGRAPHYWest 1.0258 0.9749 0.7306 1.440
Concordance= 0.526 (se = 0.017 )
Rsquare= 0.003 (max possible= 0.957 )
Likelihood ratio test= 4.47 on 3 df, p=0.2149
Wald test = 4.29 on 3 df, p=0.2323
Score (logrank) test = 4.31 on 3 df, p=0.2298
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: FACILITY_GEOGRAPHY



Age Group
uni_var(test_var = "AGE_F", data_imp = data)
_________________________________________________
## AGE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ AGE_F, data = data)
n events median 0.95LCL 0.95UCL
AGE_F=(0,54] 145 10 NA NA NA
AGE_F=(54,64] 254 25 NA 155 NA
AGE_F=(64,74] 421 68 149.6 132 NA
AGE_F=(74,100] 541 226 81.8 73 95.5
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ AGE_F, data = data)
AGE_F=(0,54]
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 128 1 0.993 0.00692 0.980 1.000
24 120 1 0.985 0.01052 0.965 1.000
36 107 1 0.976 0.01347 0.950 1.000
48 93 0 0.976 0.01347 0.950 1.000
60 76 4 0.931 0.02581 0.881 0.983
120 24 2 0.897 0.03446 0.832 0.967
AGE_F=(54,64]
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 227 3 0.988 0.00695 0.974 1.000
24 209 6 0.961 0.01288 0.936 0.986
36 176 2 0.950 0.01475 0.922 0.979
48 151 3 0.933 0.01755 0.899 0.968
60 126 2 0.920 0.01961 0.882 0.959
120 37 6 0.863 0.02906 0.808 0.922
AGE_F=(64,74]
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 370 7 0.983 0.00653 0.970 0.995
24 319 11 0.952 0.01111 0.930 0.974
36 265 13 0.911 0.01531 0.882 0.942
48 228 2 0.904 0.01601 0.873 0.936
60 190 8 0.871 0.01924 0.834 0.910
120 37 22 0.684 0.04208 0.606 0.772
AGE_F=(74,100]
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 460 37 0.928 0.0115 0.905 0.950
24 385 34 0.856 0.0159 0.825 0.888
36 317 24 0.798 0.0187 0.762 0.835
48 252 29 0.720 0.0218 0.679 0.764
60 200 30 0.630 0.0245 0.584 0.680
120 27 65 0.306 0.0347 0.245 0.382
## Univariable Cox Proportional Hazard Model for: AGE_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ AGE_F, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
AGE_F(54,64] 0.4353 1.5455 0.3743 1.163 0.24478
AGE_F(64,74] 1.0976 2.9970 0.3392 3.236 0.00121 **
AGE_F(74,100] 2.2040 9.0610 0.3242 6.798 1.06e-11 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
AGE_F(54,64] 1.545 0.6470 0.7421 3.219
AGE_F(64,74] 2.997 0.3337 1.5414 5.827
AGE_F(74,100] 9.061 0.1104 4.7994 17.106
Concordance= 0.685 (se = 0.017 )
Rsquare= 0.124 (max possible= 0.956 )
Likelihood ratio test= 180.3 on 3 df, p=0
Wald test = 147.2 on 3 df, p=0
Score (logrank) test = 182.4 on 3 df, p=0
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: AGE_F



Age Group
uni_var(test_var = "AGE_40", data_imp = data)
_________________________________________________
## AGE_40
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ AGE_40, data = data)
n events median 0.95LCL 0.95UCL
AGE_40=(0,40] 18 1 NA NA NA
AGE_40=(40,100] 1343 328 142 126 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ AGE_40, data = data)
AGE_40=(0,40]
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 14 0 1.000 0.0000 1.000 1
24 13 1 0.929 0.0688 0.803 1
36 10 0 0.929 0.0688 0.803 1
48 9 0 0.929 0.0688 0.803 1
60 9 0 0.929 0.0688 0.803 1
120 3 0 0.929 0.0688 0.803 1
AGE_40=(40,100]
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1171 48 0.962 0.00534 0.952 0.973
24 1020 51 0.918 0.00787 0.903 0.934
36 855 40 0.880 0.00964 0.861 0.899
48 715 34 0.842 0.01116 0.821 0.865
60 583 44 0.787 0.01320 0.761 0.813
120 122 95 0.581 0.02214 0.540 0.626
## Univariable Cox Proportional Hazard Model for: AGE_40
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ AGE_40, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
AGE_40(40,100] 1.636 5.136 1.002 1.633 0.102
exp(coef) exp(-coef) lower .95 upper .95
AGE_40(40,100] 5.136 0.1947 0.7209 36.6
Concordance= 0.504 (se = 0.003 )
Rsquare= 0.004 (max possible= 0.956 )
Likelihood ratio test= 4.94 on 1 df, p=0.02627
Wald test = 2.67 on 1 df, p=0.1024
Score (logrank) test = 3.32 on 1 df, p=0.0685
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: AGE_40



Gender
uni_var(test_var = "SEX_F", data_imp = data)
_________________________________________________
## SEX_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SEX_F, data = data)
n events median 0.95LCL 0.95UCL
SEX_F=Male 261 86 82.8 73.6 NA
SEX_F=Female 1100 243 155.4 130.5 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SEX_F, data = data)
SEX_F=Male
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 223 11 0.956 0.0131 0.930 0.982
24 185 16 0.883 0.0213 0.842 0.925
36 144 13 0.816 0.0266 0.766 0.870
48 115 12 0.744 0.0314 0.684 0.808
60 89 12 0.662 0.0357 0.596 0.736
120 17 20 0.435 0.0494 0.348 0.544
SEX_F=Female
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 962 37 0.965 0.00573 0.953 0.976
24 848 36 0.927 0.00825 0.911 0.943
36 721 27 0.895 0.00999 0.876 0.915
48 609 22 0.866 0.01143 0.844 0.889
60 503 32 0.817 0.01369 0.791 0.844
120 108 75 0.619 0.02419 0.573 0.668
## Univariable Cox Proportional Hazard Model for: SEX_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SEX_F, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
SEX_FFemale -0.6342 0.5303 0.1260 -5.034 4.8e-07 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
SEX_FFemale 0.5303 1.886 0.4143 0.6789
Concordance= 0.555 (se = 0.012 )
Rsquare= 0.017 (max possible= 0.956 )
Likelihood ratio test= 22.75 on 1 df, p=1.84e-06
Wald test = 25.34 on 1 df, p=4.798e-07
Score (logrank) test = 26.19 on 1 df, p=3.087e-07
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: SEX_F



RACE_F
uni_var(test_var = "RACE_F", data_imp = data)
_________________________________________________
## RACE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RACE_F, data = data)
n events median 0.95LCL 0.95UCL
RACE_F=White 1230 301 142 128.2 NA
RACE_F=Black 25 7 NA 71.5 NA
RACE_F=Other/Unk 35 11 111 97.2 NA
RACE_F=Asian 71 10 NA 108.1 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RACE_F, data = data)
RACE_F=White
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1076 41 0.965 0.00539 0.954 0.976
24 939 50 0.918 0.00825 0.902 0.934
36 788 36 0.880 0.01004 0.861 0.900
48 653 32 0.842 0.01166 0.819 0.865
60 533 41 0.785 0.01383 0.759 0.813
120 115 85 0.591 0.02242 0.549 0.637
RACE_F=Black
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 21 2 0.918 0.0554 0.816 1.000
24 17 1 0.870 0.0705 0.742 1.000
36 15 0 0.870 0.0705 0.742 1.000
48 13 2 0.754 0.0978 0.585 0.972
60 11 1 0.691 0.1080 0.509 0.939
RACE_F=Other/Unk
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 30 2 0.938 0.0422 0.859 1.000
24 26 1 0.905 0.0523 0.808 1.000
36 20 2 0.824 0.0723 0.694 0.979
48 18 0 0.824 0.0723 0.694 0.979
60 16 1 0.779 0.0815 0.634 0.956
120 3 5 0.363 0.1446 0.166 0.792
RACE_F=Asian
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 58 3 0.953 0.0265 0.903 1.000
24 51 0 0.953 0.0265 0.903 1.000
36 42 2 0.912 0.0380 0.841 0.990
48 40 0 0.912 0.0380 0.841 0.990
60 32 1 0.887 0.0446 0.804 0.979
120 7 4 0.663 0.1136 0.474 0.927
## Univariable Cox Proportional Hazard Model for: RACE_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RACE_F, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
RACE_FBlack 0.3518 1.4217 0.3828 0.919 0.358
RACE_FOther/Unk 0.1948 1.2151 0.3072 0.634 0.526
RACE_FAsian -0.5277 0.5900 0.3215 -1.641 0.101
exp(coef) exp(-coef) lower .95 upper .95
RACE_FBlack 1.422 0.7034 0.6713 3.011
RACE_FOther/Unk 1.215 0.8230 0.6655 2.219
RACE_FAsian 0.590 1.6950 0.3142 1.108
Concordance= 0.516 (se = 0.009 )
Rsquare= 0.003 (max possible= 0.956 )
Likelihood ratio test= 4.48 on 3 df, p=0.214
Wald test = 4.06 on 3 df, p=0.2548
Score (logrank) test = 4.15 on 3 df, p=0.2457
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: RACE_F



Hispanic
uni_var(test_var = "HISPANIC", data_imp = data)
_________________________________________________
## HISPANIC
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ HISPANIC, data = data)
n events median 0.95LCL 0.95UCL
HISPANIC=No 1235 294 142 128.2 NA
HISPANIC=Yes 52 9 NA 125.6 NA
HISPANIC=Unknown 74 26 NA 97.2 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ HISPANIC, data = data)
HISPANIC=No
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1070 44 0.962 0.00558 0.951 0.973
24 930 44 0.921 0.00813 0.905 0.937
36 774 36 0.882 0.01001 0.863 0.902
48 645 29 0.847 0.01159 0.824 0.870
60 525 40 0.790 0.01384 0.764 0.818
120 106 88 0.575 0.02384 0.530 0.624
HISPANIC=Yes
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 47 0 1.000 0.0000 1.000 1.000
24 41 4 0.913 0.0416 0.835 0.998
36 36 1 0.890 0.0467 0.803 0.986
48 28 1 0.864 0.0518 0.768 0.972
60 23 1 0.831 0.0595 0.722 0.956
120 9 0 0.831 0.0595 0.722 0.956
HISPANIC=Unknown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 68 4 0.945 0.0268 0.894 0.999
24 62 4 0.888 0.0372 0.818 0.964
36 55 3 0.843 0.0435 0.762 0.933
48 51 4 0.782 0.0500 0.690 0.886
60 44 3 0.736 0.0537 0.637 0.849
120 10 7 0.571 0.0706 0.448 0.728
## Univariable Cox Proportional Hazard Model for: HISPANIC
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ HISPANIC, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
HISPANICYes -0.4171 0.6589 0.3385 -1.232 0.218
HISPANICUnknown 0.1140 1.1208 0.2050 0.556 0.578
exp(coef) exp(-coef) lower .95 upper .95
HISPANICYes 0.6589 1.5176 0.3394 1.279
HISPANICUnknown 1.1208 0.8922 0.7500 1.675
Concordance= 0.514 (se = 0.009 )
Rsquare= 0.002 (max possible= 0.956 )
Likelihood ratio test= 2.12 on 2 df, p=0.3462
Wald test = 1.9 on 2 df, p=0.3867
Score (logrank) test = 1.93 on 2 df, p=0.3818
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: HISPANIC



Insurance Status
uni_var(test_var = "INSURANCE_F", data_imp = data)
_________________________________________________
## INSURANCE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ INSURANCE_F, data = data)
n events median 0.95LCL 0.95UCL
INSURANCE_F=Private 454 54 NA 155.4 NA
INSURANCE_F=None 23 4 NA 90.3 NA
INSURANCE_F=Medicaid 22 3 NA NA NA
INSURANCE_F=Medicare 838 265 110 97.4 125
INSURANCE_F=Other Government 8 0 NA NA NA
INSURANCE_F=Unknown 16 3 NA 105.8 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ INSURANCE_F, data = data)
INSURANCE_F=Private
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 400 6 0.986 0.00573 0.975 0.997
24 364 13 0.953 0.01064 0.932 0.974
36 315 5 0.939 0.01217 0.915 0.963
48 269 6 0.919 0.01423 0.892 0.948
60 224 6 0.897 0.01656 0.865 0.930
120 57 13 0.812 0.02821 0.759 0.869
INSURANCE_F=None
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 18 0 1.000 0.0000 1.000 1
24 17 0 1.000 0.0000 1.000 1
36 13 1 0.929 0.0688 0.803 1
48 12 0 0.929 0.0688 0.803 1
60 11 1 0.851 0.0973 0.680 1
120 3 2 0.662 0.1402 0.437 1
INSURANCE_F=Medicaid
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 19 1 0.955 0.0444 0.871 1
24 17 0 0.955 0.0444 0.871 1
36 14 0 0.955 0.0444 0.871 1
48 11 2 0.812 0.1003 0.638 1
60 10 0 0.812 0.1003 0.638 1
120 3 0 0.812 0.1003 0.638 1
INSURANCE_F=Medicare
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 727 40 0.950 0.00773 0.935 0.965
24 615 39 0.896 0.01109 0.875 0.918
36 508 33 0.845 0.01361 0.818 0.872
48 421 26 0.799 0.01558 0.769 0.830
60 338 37 0.724 0.01833 0.689 0.761
120 58 79 0.449 0.02987 0.394 0.512
INSURANCE_F=Other Government
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 6 0 1 0 1 1
24 6 0 1 0 1 1
36 5 0 1 0 1 1
48 3 0 1 0 1 1
60 2 0 1 0 1 1
120 1 0 1 0 1 1
INSURANCE_F=Unknown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 15 1 0.938 0.0605 0.826 1
24 14 0 0.938 0.0605 0.826 1
36 10 1 0.852 0.0981 0.680 1
48 8 0 0.852 0.0981 0.680 1
60 7 0 0.852 0.0981 0.680 1
120 3 1 0.682 0.1715 0.416 1
## Univariable Cox Proportional Hazard Model for: INSURANCE_F
Loglik converged before variable 4 ; beta may be infinite.
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ INSURANCE_F, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
INSURANCE_FNone 4.128e-01 1.511e+00 5.183e-01 0.796 0.426
INSURANCE_FMedicaid 1.934e-01 1.213e+00 5.933e-01 0.326 0.744
INSURANCE_FMedicare 1.183e+00 3.263e+00 1.497e-01 7.900 2.78e-15 ***
INSURANCE_FOther Government -1.328e+01 1.711e-06 9.120e+02 -0.015 0.988
INSURANCE_FUnknown 3.700e-01 1.448e+00 5.936e-01 0.623 0.533
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
INSURANCE_FNone 1.511e+00 6.618e-01 0.5472 4.173
INSURANCE_FMedicaid 1.213e+00 8.242e-01 0.3792 3.882
INSURANCE_FMedicare 3.263e+00 3.064e-01 2.4336 4.376
INSURANCE_FOther Government 1.711e-06 5.846e+05 0.0000 Inf
INSURANCE_FUnknown 1.448e+00 6.907e-01 0.4523 4.634
Concordance= 0.61 (se = 0.015 )
Rsquare= 0.061 (max possible= 0.956 )
Likelihood ratio test= 85.03 on 5 df, p=1.11e-16
Wald test = 66.49 on 5 df, p=5.493e-13
Score (logrank) test = 76.07 on 5 df, p=5.551e-15
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 6 rows containing missing values (geom_text).Removed 6 rows containing missing values (geom_text).Removed 6 rows containing missing values (geom_text).Removed 6 rows containing missing values (geom_text).Removed 6 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).
## Unadjusted Kaplan Meier Overall Survival Curve for: INSURANCE_F



Overall Survival pre/post-ACA expansion
uni_var(test_var = "EXPN_GROUP", data_imp = no_Excludes)
_________________________________________________
## EXPN_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ EXPN_GROUP, data = no_Excludes)
n events median 0.95LCL 0.95UCL
EXPN_GROUP=Post-Expansion 144 20 NA 82.8 NA
EXPN_GROUP=Pre-Expansion 562 145 132 125.1 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ EXPN_GROUP, data = no_Excludes)
EXPN_GROUP=Post-Expansion
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 119 5 0.963 0.0163 0.931 0.995
24 85 9 0.880 0.0303 0.823 0.942
36 42 4 0.827 0.0386 0.755 0.906
48 28 1 0.799 0.0467 0.712 0.896
60 18 0 0.799 0.0467 0.712 0.896
EXPN_GROUP=Pre-Expansion
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 498 20 0.963 0.00815 0.947 0.979
24 457 16 0.931 0.01111 0.909 0.953
36 394 20 0.888 0.01419 0.860 0.916
48 322 16 0.849 0.01652 0.818 0.882
60 253 25 0.778 0.02044 0.739 0.819
120 51 39 0.586 0.03289 0.525 0.655
## Univariable Cox Proportional Hazard Model for: EXPN_GROUP
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ EXPN_GROUP, data = no_Excludes)
n= 706, number of events= 165
coef exp(coef) se(coef) z Pr(>|z|)
EXPN_GROUPPre-Expansion -0.2186 0.8036 0.2458 -0.889 0.374
exp(coef) exp(-coef) lower .95 upper .95
EXPN_GROUPPre-Expansion 0.8036 1.244 0.4964 1.301
Concordance= 0.519 (se = 0.016 )
Rsquare= 0.001 (max possible= 0.932 )
Likelihood ratio test= 0.75 on 1 df, p=0.3855
Wald test = 0.79 on 1 df, p=0.3739
Score (logrank) test = 0.79 on 1 df, p=0.373
## Unadjusted Kaplan Meier Overall Survival Curve for: EXPN_GROUP



Education
uni_var(test_var = "EDUCATION_F", data_imp = data)
_________________________________________________
## EDUCATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ EDUCATION_F, data = data)
5 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
EDUCATION_F=21% or more 168 43 NA 114 NA
EDUCATION_F=13 - 20.9% 320 72 NA 116 NA
EDUCATION_F=7 - 12.9% 465 132 132 108 NA
EDUCATION_F=Less than 7% 403 81 155 133 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ EDUCATION_F, data = data)
5 observations deleted due to missingness
EDUCATION_F=21% or more
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 146 8 0.950 0.0174 0.916 0.984
24 122 10 0.880 0.0266 0.829 0.934
36 106 4 0.849 0.0299 0.792 0.910
48 90 3 0.824 0.0323 0.763 0.890
60 75 4 0.785 0.0361 0.718 0.859
120 18 12 0.597 0.0576 0.495 0.722
EDUCATION_F=13 - 20.9%
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 275 13 0.957 0.0117 0.934 0.980
24 240 13 0.910 0.0168 0.878 0.944
36 198 7 0.881 0.0196 0.844 0.920
48 171 6 0.853 0.0220 0.811 0.898
60 138 10 0.800 0.0264 0.750 0.853
120 25 20 0.583 0.0491 0.494 0.687
EDUCATION_F=7 - 12.9%
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 401 20 0.955 0.00986 0.936 0.974
24 352 14 0.920 0.01316 0.895 0.946
36 291 20 0.864 0.01735 0.831 0.899
48 242 16 0.813 0.02045 0.774 0.855
60 192 21 0.738 0.02431 0.692 0.787
120 44 35 0.545 0.03483 0.481 0.618
EDUCATION_F=Less than 7%
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 361 7 0.982 0.00689 0.968 0.995
24 317 15 0.939 0.01268 0.914 0.964
36 268 9 0.911 0.01540 0.881 0.941
48 221 8 0.881 0.01810 0.846 0.917
60 187 9 0.843 0.02138 0.802 0.886
120 38 28 0.634 0.04128 0.558 0.721
## Univariable Cox Proportional Hazard Model for: EDUCATION_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ EDUCATION_F, data = data)
n= 1356, number of events= 328
(5 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
EDUCATION_F13 - 20.9% -0.08985 0.91406 0.19281 -0.466 0.641
EDUCATION_F7 - 12.9% 0.16231 1.17622 0.17567 0.924 0.356
EDUCATION_FLess than 7% -0.24097 0.78587 0.18876 -1.277 0.202
exp(coef) exp(-coef) lower .95 upper .95
EDUCATION_F13 - 20.9% 0.9141 1.0940 0.6264 1.334
EDUCATION_F7 - 12.9% 1.1762 0.8502 0.8336 1.660
EDUCATION_FLess than 7% 0.7859 1.2725 0.5428 1.138
Concordance= 0.552 (se = 0.017 )
Rsquare= 0.006 (max possible= 0.956 )
Likelihood ratio test= 8.75 on 3 df, p=0.03281
Wald test = 8.69 on 3 df, p=0.03366
Score (logrank) test = 8.78 on 3 df, p=0.03236
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: EDUCATION_F



Urban/Rural
uni_var(test_var = "U_R_F", data_imp = data)
_________________________________________________
## U_R_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ U_R_F, data = data)
40 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
U_R_F=Metro 1107 264 150 128.2 NA
U_R_F=Urban 187 50 133 108.0 NA
U_R_F=Rural 27 6 NA 97.2 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ U_R_F, data = data)
40 observations deleted due to missingness
U_R_F=Metro
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 966 39 0.963 0.00585 0.951 0.974
24 844 39 0.922 0.00849 0.906 0.939
36 710 32 0.885 0.01042 0.864 0.905
48 593 25 0.851 0.01200 0.828 0.875
60 482 40 0.790 0.01455 0.762 0.819
120 105 75 0.593 0.02410 0.547 0.642
U_R_F=Urban
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 164 6 0.966 0.0135 0.940 0.993
24 139 11 0.899 0.0233 0.854 0.946
36 116 7 0.850 0.0284 0.796 0.908
48 99 6 0.805 0.0324 0.744 0.871
60 82 3 0.780 0.0345 0.715 0.850
120 14 15 0.561 0.0582 0.458 0.688
U_R_F=Rural
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 25 0 1.000 0.0000 1.000 1.00
24 24 1 0.960 0.0392 0.886 1.00
36 19 1 0.912 0.0598 0.802 1.00
48 15 1 0.855 0.0787 0.714 1.00
60 13 0 0.855 0.0787 0.714 1.00
120 2 3 0.528 0.1612 0.290 0.96
## Univariable Cox Proportional Hazard Model for: U_R_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ U_R_F, data = data)
n= 1321, number of events= 320
(40 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
U_R_FUrban 0.1546 1.1672 0.1544 1.001 0.317
U_R_FRural -0.1923 0.8250 0.4129 -0.466 0.641
exp(coef) exp(-coef) lower .95 upper .95
U_R_FUrban 1.167 0.8568 0.8623 1.580
U_R_FRural 0.825 1.2121 0.3673 1.853
Concordance= 0.516 (se = 0.012 )
Rsquare= 0.001 (max possible= 0.955 )
Likelihood ratio test= 1.26 on 2 df, p=0.5325
Wald test = 1.28 on 2 df, p=0.5276
Score (logrank) test = 1.28 on 2 df, p=0.5266
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: U_R_F



Year
uni_var(test_var = "YEAR_OF_DIAGNOSIS", data_imp = data)
_________________________________________________
## YEAR_OF_DIAGNOSIS
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ YEAR_OF_DIAGNOSIS, data = data)
n events median 0.95LCL 0.95UCL
YEAR_OF_DIAGNOSIS=2004 84 29 NA 141.8 NA
YEAR_OF_DIAGNOSIS=2005 89 37 NA 97.4 NA
YEAR_OF_DIAGNOSIS=2006 102 34 NA 124.8 NA
YEAR_OF_DIAGNOSIS=2007 114 43 125.1 112.8 NA
YEAR_OF_DIAGNOSIS=2008 123 39 NA 106.7 NA
YEAR_OF_DIAGNOSIS=2009 110 28 NA 100.4 NA
YEAR_OF_DIAGNOSIS=2010 117 26 NA NA NA
YEAR_OF_DIAGNOSIS=2011 125 29 78.3 78.3 NA
YEAR_OF_DIAGNOSIS=2012 103 16 71.5 68.4 NA
YEAR_OF_DIAGNOSIS=2013 118 24 NA NA NA
YEAR_OF_DIAGNOSIS=2014 122 12 NA NA NA
YEAR_OF_DIAGNOSIS=2015 154 12 NA NA NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ YEAR_OF_DIAGNOSIS, data = data)
YEAR_OF_DIAGNOSIS=2004
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 77 2 0.975 0.0173 0.942 1.000
24 75 1 0.963 0.0212 0.922 1.000
36 71 4 0.911 0.0320 0.851 0.976
48 67 3 0.872 0.0378 0.801 0.949
60 63 4 0.820 0.0436 0.739 0.910
120 38 7 0.716 0.0531 0.619 0.828
YEAR_OF_DIAGNOSIS=2005
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 76 6 0.931 0.0271 0.879 0.986
24 72 4 0.882 0.0351 0.816 0.954
36 70 1 0.870 0.0367 0.801 0.945
48 64 4 0.819 0.0424 0.740 0.907
60 58 6 0.742 0.0487 0.653 0.844
120 37 13 0.563 0.0570 0.462 0.687
YEAR_OF_DIAGNOSIS=2006
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 86 4 0.959 0.0201 0.921 0.999
24 80 3 0.925 0.0273 0.873 0.980
36 74 3 0.889 0.0331 0.827 0.957
48 67 5 0.829 0.0405 0.753 0.912
60 60 4 0.779 0.0450 0.696 0.873
120 36 12 0.607 0.0563 0.506 0.728
YEAR_OF_DIAGNOSIS=2007
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 106 4 0.964 0.0175 0.931 0.999
24 98 6 0.909 0.0275 0.857 0.964
36 94 2 0.890 0.0299 0.833 0.951
48 91 3 0.862 0.0332 0.799 0.929
60 84 6 0.805 0.0383 0.733 0.883
120 14 20 0.553 0.0569 0.452 0.677
YEAR_OF_DIAGNOSIS=2008
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 112 6 0.950 0.0200 0.911 0.990
24 103 3 0.923 0.0247 0.876 0.973
36 94 7 0.859 0.0327 0.797 0.926
48 84 5 0.813 0.0370 0.743 0.888
60 83 0 0.813 0.0370 0.743 0.888
YEAR_OF_DIAGNOSIS=2009
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 99 3 0.971 0.0163 0.940 1.000
24 94 3 0.942 0.0232 0.897 0.988
36 91 1 0.931 0.0251 0.883 0.982
48 83 5 0.879 0.0328 0.817 0.946
60 71 7 0.801 0.0411 0.724 0.885
YEAR_OF_DIAGNOSIS=2010
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 105 4 0.965 0.0173 0.931 0.999
24 95 6 0.909 0.0275 0.857 0.964
36 88 4 0.870 0.0325 0.808 0.936
48 84 1 0.860 0.0337 0.796 0.928
60 78 4 0.818 0.0379 0.748 0.896
YEAR_OF_DIAGNOSIS=2011
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 110 3 0.975 0.0142 0.948 1.000
24 104 4 0.939 0.0223 0.896 0.984
36 101 2 0.921 0.0253 0.873 0.972
48 90 2 0.902 0.0283 0.848 0.959
60 66 12 0.774 0.0420 0.695 0.861
YEAR_OF_DIAGNOSIS=2012
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 91 2 0.979 0.0148 0.950 1.000
24 84 3 0.946 0.0235 0.901 0.993
36 74 5 0.889 0.0333 0.826 0.956
48 63 2 0.864 0.0366 0.795 0.939
60 29 1 0.848 0.0391 0.775 0.929
YEAR_OF_DIAGNOSIS=2013
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 104 7 0.938 0.0226 0.895 0.984
24 92 6 0.882 0.0308 0.824 0.944
36 77 8 0.802 0.0390 0.729 0.882
48 31 3 0.750 0.0467 0.664 0.848
YEAR_OF_DIAGNOSIS=2014
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 97 4 0.963 0.0181 0.928 0.999
24 82 5 0.912 0.0282 0.858 0.969
36 31 2 0.889 0.0318 0.829 0.953
YEAR_OF_DIAGNOSIS=2015
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 122 3 0.978 0.0128 0.953 1.000
24 54 8 0.888 0.0329 0.826 0.955
## Univariable Cox Proportional Hazard Model for: YEAR_OF_DIAGNOSIS
X matrix deemed to be singular; variable 12
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ YEAR_OF_DIAGNOSIS, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
YEAR_OF_DIAGNOSIS2005 0.3673 1.4439 0.2519 1.458 0.14482
YEAR_OF_DIAGNOSIS2006 0.2749 1.3164 0.2582 1.065 0.28708
YEAR_OF_DIAGNOSIS2007 0.4297 1.5369 0.2491 1.725 0.08450 .
YEAR_OF_DIAGNOSIS2008 0.3854 1.4702 0.2554 1.509 0.13126
YEAR_OF_DIAGNOSIS2009 0.2419 1.2737 0.2760 0.877 0.38076
YEAR_OF_DIAGNOSIS2010 0.2608 1.2979 0.2823 0.924 0.35569
YEAR_OF_DIAGNOSIS2011 0.4533 1.5736 0.2769 1.637 0.10157
YEAR_OF_DIAGNOSIS2012 0.2886 1.3346 0.3253 0.887 0.37494
YEAR_OF_DIAGNOSIS2013 0.8194 2.2692 0.2945 2.783 0.00539 **
YEAR_OF_DIAGNOSIS2014 0.4667 1.5948 0.3615 1.291 0.19664
YEAR_OF_DIAGNOSIS2015 0.5893 1.8028 0.3659 1.611 0.10725
YEAR_OF_DIAGNOSIS2016 NA NA 0.0000 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
YEAR_OF_DIAGNOSIS2005 1.444 0.6926 0.8812 2.366
YEAR_OF_DIAGNOSIS2006 1.316 0.7597 0.7936 2.184
YEAR_OF_DIAGNOSIS2007 1.537 0.6507 0.9432 2.504
YEAR_OF_DIAGNOSIS2008 1.470 0.6802 0.8913 2.425
YEAR_OF_DIAGNOSIS2009 1.274 0.7851 0.7415 2.188
YEAR_OF_DIAGNOSIS2010 1.298 0.7705 0.7463 2.257
YEAR_OF_DIAGNOSIS2011 1.574 0.6355 0.9145 2.708
YEAR_OF_DIAGNOSIS2012 1.335 0.7493 0.7054 2.525
YEAR_OF_DIAGNOSIS2013 2.269 0.4407 1.2741 4.041
YEAR_OF_DIAGNOSIS2014 1.595 0.6270 0.7852 3.239
YEAR_OF_DIAGNOSIS2015 1.803 0.5547 0.8800 3.693
YEAR_OF_DIAGNOSIS2016 NA NA NA NA
Concordance= 0.542 (se = 0.018 )
Rsquare= 0.007 (max possible= 0.956 )
Likelihood ratio test= 9.54 on 11 df, p=0.5719
Wald test = 9.68 on 11 df, p=0.5597
Score (logrank) test = 9.84 on 11 df, p=0.5452
Removed 2 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: YEAR_OF_DIAGNOSIS
This manual palette can handle a maximum of 10 values. You have supplied 12.



Primary Site
uni_var(test_var = "SITE_TEXT", data_imp = data)
_________________________________________________
## SITE_TEXT
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SITE_TEXT, data = data)
n events median 0.95LCL 0.95UCL
SITE_TEXT=C44.2 External ear 2 0 NA NA NA
SITE_TEXT=C44.3 Skin of ear and unspecified parts of face 2 1 7.95 NA NA
SITE_TEXT=C44.4 Skin of scalp and neck 3 0 NA NA NA
SITE_TEXT=C44.5 Skin of trunk 287 86 131.91 81.2 NA
SITE_TEXT=C44.6 Skin of upper limb and shoulder 7 2 NA 50.2 NA
SITE_TEXT=C44.7 Skin of lower limb and hip 12 5 81.81 70.2 NA
SITE_TEXT=C44.8 Overlapping lesion of skin 11 7 32.79 20.3 NA
SITE_TEXT=C44.9 Skin, NOS 19 10 55.92 30.2 NA
SITE_TEXT=C50.0 Nipple 1 0 NA NA NA
SITE_TEXT=C51.0 Labium majus 92 16 NA NA NA
SITE_TEXT=C51.1 Labium minus 15 3 NA 85.4 NA
SITE_TEXT=C51.2 Clitoris 2 0 NA NA NA
SITE_TEXT=C51.8 Overlapping lesion of vulva 60 16 149.62 128.5 NA
SITE_TEXT=C51.9 Vulva, NOS 822 176 155.43 128.2 NA
SITE_TEXT=C52.9 Vagina, NOS 1 0 NA NA NA
SITE_TEXT=C60.2 Body of penis 1 0 NA NA NA
SITE_TEXT=C60.8 Overlapping lesion of penis 2 0 NA NA NA
SITE_TEXT=C60.9 Penis 22 7 108.06 73.2 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SITE_TEXT, data = data)
SITE_TEXT=C44.2 External ear
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 0 1 0 1 1
24 2 0 1 0 1 1
36 1 0 1 0 1 1
48 1 0 1 0 1 1
60 1 0 1 0 1 1
120 1 0 1 0 1 1
SITE_TEXT=C44.3 Skin of ear and unspecified parts of face
time n.risk n.event survival std.err lower 95% CI upper 95% CI
SITE_TEXT=C44.4 Skin of scalp and neck
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 3 0 1 0 1 1
24 3 0 1 0 1 1
36 2 0 1 0 1 1
48 2 0 1 0 1 1
60 2 0 1 0 1 1
SITE_TEXT=C44.5 Skin of trunk
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 245 11 0.960 0.0119 0.937 0.983
24 207 15 0.898 0.0191 0.861 0.936
36 165 14 0.833 0.0243 0.787 0.882
48 129 13 0.763 0.0291 0.708 0.822
60 104 11 0.694 0.0330 0.633 0.762
120 17 20 0.503 0.0452 0.422 0.600
SITE_TEXT=C44.6 Skin of upper limb and shoulder
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 6 1 0.857 0.132 0.633 1
24 3 0 0.857 0.132 0.633 1
36 3 0 0.857 0.132 0.633 1
48 3 0 0.857 0.132 0.633 1
60 2 1 0.571 0.249 0.243 1
SITE_TEXT=C44.7 Skin of lower limb and hip
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 10 1 0.909 0.0867 0.7541 1
24 9 1 0.818 0.1163 0.6192 1
36 4 0 0.818 0.1163 0.6192 1
48 4 0 0.818 0.1163 0.6192 1
60 4 0 0.818 0.1163 0.6192 1
120 1 2 0.273 0.2260 0.0537 1
SITE_TEXT=C44.8 Overlapping lesion of skin
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 8 2 0.8 0.126 0.587 1.000
24 5 3 0.5 0.158 0.269 0.929
36 5 0 0.5 0.158 0.269 0.929
48 4 1 0.4 0.155 0.187 0.855
60 4 0 0.4 0.155 0.187 0.855
SITE_TEXT=C44.9 Skin, NOS
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 16 1 0.947 0.0512 0.852 1.000
24 12 2 0.820 0.0953 0.653 1.000
36 8 3 0.615 0.1249 0.413 0.916
48 7 0 0.615 0.1249 0.413 0.916
60 4 3 0.351 0.1354 0.165 0.748
120 2 1 0.264 0.1269 0.103 0.677
SITE_TEXT=C50.0 Nipple
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 0 1 0 1 1
24 1 0 1 0 1 1
36 1 0 1 0 1 1
SITE_TEXT=C51.0 Labium majus
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 79 2 0.977 0.0159 0.947 1.000
24 68 3 0.938 0.0268 0.887 0.992
36 60 0 0.938 0.0268 0.887 0.992
48 49 2 0.904 0.0350 0.838 0.976
60 47 0 0.904 0.0350 0.838 0.976
120 12 9 0.661 0.0785 0.523 0.834
SITE_TEXT=C51.1 Labium minus
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 13 1 0.929 0.0688 0.803 1
24 11 0 0.929 0.0688 0.803 1
36 10 1 0.844 0.1019 0.666 1
48 8 0 0.844 0.1019 0.666 1
60 7 0 0.844 0.1019 0.666 1
120 1 1 0.703 0.1540 0.458 1
SITE_TEXT=C51.2 Clitoris
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 0 1 0 1 1
24 1 0 1 0 1 1
36 1 0 1 0 1 1
48 1 0 1 0 1 1
60 1 0 1 0 1 1
SITE_TEXT=C51.8 Overlapping lesion of vulva
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 49 3 0.946 0.0303 0.888 1.000
24 49 0 0.946 0.0303 0.888 1.000
36 42 3 0.884 0.0447 0.801 0.976
48 36 2 0.840 0.0524 0.743 0.949
60 32 1 0.814 0.0566 0.711 0.933
120 9 5 0.645 0.0833 0.501 0.831
SITE_TEXT=C51.9 Vulva, NOS
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 726 24 0.969 0.00618 0.957 0.981
24 643 27 0.932 0.00922 0.914 0.950
36 545 19 0.902 0.01119 0.880 0.924
48 464 15 0.876 0.01278 0.851 0.901
60 373 27 0.820 0.01580 0.790 0.852
120 80 53 0.620 0.02887 0.566 0.679
SITE_TEXT=C52.9 Vagina, NOS
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 0 1 0 1 1
24 1 0 1 0 1 1
36 1 0 1 0 1 1
48 1 0 1 0 1 1
SITE_TEXT=C60.2 Body of penis
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 0 1 0 1 1
24 1 0 1 0 1 1
36 1 0 1 0 1 1
48 1 0 1 0 1 1
60 1 0 1 0 1 1
SITE_TEXT=C60.8 Overlapping lesion of penis
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 0 1 0 1 1
24 1 0 1 0 1 1
36 1 0 1 0 1 1
48 1 0 1 0 1 1
60 1 0 1 0 1 1
120 1 0 1 0 1 1
SITE_TEXT=C60.9 Penis
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 21 1 0.955 0.0444 0.8714 1
24 16 1 0.898 0.0687 0.7734 1
36 15 0 0.898 0.0687 0.7734 1
48 13 1 0.834 0.0888 0.6771 1
60 9 1 0.770 0.1026 0.5931 1
120 1 3 0.257 0.1990 0.0562 1
## Univariable Cox Proportional Hazard Model for: SITE_TEXT
Loglik converged before variable 11,13,19,22,25,28,29 ; beta may be infinite. X matrix deemed to be singular; variable 1 2 3 4 5 6 7 8 9 10 26 27 30
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SITE_TEXT, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
SITE_TEXTC00.1 External Lip: Lower NOS NA NA 0.000e+00 NA NA
SITE_TEXTC00.2 External Lip: NOS NA NA 0.000e+00 NA NA
SITE_TEXTC00.3 Lip: Upper Mucosa NA NA 0.000e+00 NA NA
SITE_TEXTC00.4 Lip: Lower Mucosa NA NA 0.000e+00 NA NA
SITE_TEXTC00.5 Lip: Mucosa NOS NA NA 0.000e+00 NA NA
SITE_TEXTC00.6 Lip: Commissure NA NA 0.000e+00 NA NA
SITE_TEXTC00.8 Lip: Overlapping NA NA 0.000e+00 NA NA
SITE_TEXTC00.9 Lip, NOS NA NA 0.000e+00 NA NA
SITE_TEXTC44.0 Skin of lip, NOS NA NA 0.000e+00 NA NA
SITE_TEXTC44.1 Eyelid NA NA 0.000e+00 NA NA
SITE_TEXTC44.2 External ear -1.556e+01 1.739e-07 2.273e+03 -0.007 0.9945
SITE_TEXTC44.3 Skin of ear and unspecified parts of face 3.212e+00 2.482e+01 1.086e+00 2.958 0.0031 **
SITE_TEXTC44.4 Skin of scalp and neck -1.555e+01 1.768e-07 2.330e+03 -0.007 0.9947
SITE_TEXTC44.5 Skin of trunk 5.459e-02 1.056e+00 3.932e-01 0.139 0.8896
SITE_TEXTC44.6 Skin of upper limb and shoulder 2.825e-01 1.326e+00 8.020e-01 0.352 0.7247
SITE_TEXTC44.7 Skin of lower limb and hip 5.495e-01 1.732e+00 5.859e-01 0.938 0.3483
SITE_TEXTC44.8 Overlapping lesion of skin 1.017e+00 2.766e+00 5.348e-01 1.902 0.0572 .
SITE_TEXTC44.9 Skin, NOS 7.677e-01 2.155e+00 4.933e-01 1.556 0.1196
SITE_TEXTC50.0 Nipple -1.554e+01 1.787e-07 5.114e+03 -0.003 0.9976
SITE_TEXTC51.0 Labium majus -7.908e-01 4.535e-01 4.537e-01 -1.743 0.0813 .
SITE_TEXTC51.1 Labium minus -6.349e-01 5.300e-01 6.908e-01 -0.919 0.3580
SITE_TEXTC51.2 Clitoris -1.555e+01 1.758e-07 2.938e+03 -0.005 0.9958
SITE_TEXTC51.8 Overlapping lesion of vulva -3.929e-01 6.751e-01 4.536e-01 -0.866 0.3864
SITE_TEXTC51.9 Vulva, NOS -5.073e-01 6.021e-01 3.857e-01 -1.315 0.1884
SITE_TEXTC52.9 Vagina, NOS -1.554e+01 1.784e-07 4.807e+03 -0.003 0.9974
SITE_TEXTC60.0 Prepuce NA NA 0.000e+00 NA NA
SITE_TEXTC60.1 Glans penis NA NA 0.000e+00 NA NA
SITE_TEXTC60.2 Body of penis -1.554e+01 1.774e-07 3.999e+03 -0.004 0.9969
SITE_TEXTC60.8 Overlapping lesion of penis -1.556e+01 1.748e-07 2.566e+03 -0.006 0.9952
SITE_TEXTC60.9 Penis NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
SITE_TEXTC00.1 External Lip: Lower NOS NA NA NA NA
SITE_TEXTC00.2 External Lip: NOS NA NA NA NA
SITE_TEXTC00.3 Lip: Upper Mucosa NA NA NA NA
SITE_TEXTC00.4 Lip: Lower Mucosa NA NA NA NA
SITE_TEXTC00.5 Lip: Mucosa NOS NA NA NA NA
SITE_TEXTC00.6 Lip: Commissure NA NA NA NA
SITE_TEXTC00.8 Lip: Overlapping NA NA NA NA
SITE_TEXTC00.9 Lip, NOS NA NA NA NA
SITE_TEXTC44.0 Skin of lip, NOS NA NA NA NA
SITE_TEXTC44.1 Eyelid NA NA NA NA
SITE_TEXTC44.2 External ear 1.739e-07 5.752e+06 0.0000 Inf
SITE_TEXTC44.3 Skin of ear and unspecified parts of face 2.482e+01 4.029e-02 2.9546 208.468
SITE_TEXTC44.4 Skin of scalp and neck 1.768e-07 5.657e+06 0.0000 Inf
SITE_TEXTC44.5 Skin of trunk 1.056e+00 9.469e-01 0.4887 2.282
SITE_TEXTC44.6 Skin of upper limb and shoulder 1.326e+00 7.539e-01 0.2754 6.388
SITE_TEXTC44.7 Skin of lower limb and hip 1.732e+00 5.772e-01 0.5495 5.462
SITE_TEXTC44.8 Overlapping lesion of skin 2.766e+00 3.616e-01 0.9694 7.889
SITE_TEXTC44.9 Skin, NOS 2.155e+00 4.641e-01 0.8195 5.666
SITE_TEXTC50.0 Nipple 1.787e-07 5.597e+06 0.0000 Inf
SITE_TEXTC51.0 Labium majus 4.535e-01 2.205e+00 0.1864 1.103
SITE_TEXTC51.1 Labium minus 5.300e-01 1.887e+00 0.1369 2.052
SITE_TEXTC51.2 Clitoris 1.758e-07 5.688e+06 0.0000 Inf
SITE_TEXTC51.8 Overlapping lesion of vulva 6.751e-01 1.481e+00 0.2775 1.642
SITE_TEXTC51.9 Vulva, NOS 6.021e-01 1.661e+00 0.2828 1.282
SITE_TEXTC52.9 Vagina, NOS 1.784e-07 5.604e+06 0.0000 Inf
SITE_TEXTC60.0 Prepuce NA NA NA NA
SITE_TEXTC60.1 Glans penis NA NA NA NA
SITE_TEXTC60.2 Body of penis 1.774e-07 5.636e+06 0.0000 Inf
SITE_TEXTC60.8 Overlapping lesion of penis 1.748e-07 5.722e+06 0.0000 Inf
SITE_TEXTC60.9 Penis NA NA NA NA
Concordance= 0.593 (se = 0.015 )
Rsquare= 0.039 (max possible= 0.956 )
Likelihood ratio test= 53.89 on 17 df, p=1.03e-05
Wald test = 61.46 on 17 df, p=6.033e-07
Score (logrank) test = 89.01 on 17 df, p=9.244e-12
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 14 rows containing missing values (geom_errorbar).Removed 31 rows containing missing values (geom_text).Removed 31 rows containing missing values (geom_text).Removed 31 rows containing missing values (geom_text).Removed 31 rows containing missing values (geom_text).Removed 31 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).
## Unadjusted Kaplan Meier Overall Survival Curve for: SITE_TEXT
This manual palette can handle a maximum of 10 values. You have supplied 18.



Histology
#uni_var(test_var = "HISTOLOGY_F_LIM", data_imp = data)
Grade
uni_var(test_var = "GRADE_F", data_imp = data)
_________________________________________________
## GRADE_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ GRADE_F, data = data)
n events median 0.95LCL 0.95UCL
GRADE_F=Gr I: Well Diff 38 10 131.9 70.3 NA
GRADE_F=Gr II: Mod Diff 30 15 67.1 51.4 NA
GRADE_F=Gr III: Poor Diff 36 23 29.3 21.6 NA
GRADE_F=NA/Unkown 1257 281 155.4 133.1 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ GRADE_F, data = data)
GRADE_F=Gr I: Well Diff
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 37 0 1.000 0.0000 1.000 1.00
24 34 2 0.945 0.0377 0.874 1.00
36 30 1 0.916 0.0467 0.829 1.00
48 20 0 0.916 0.0467 0.829 1.00
60 15 3 0.771 0.0861 0.620 0.96
120 4 3 0.591 0.1131 0.406 0.86
GRADE_F=Gr II: Mod Diff
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 25 3 0.893 0.0585 0.785 1.000
24 18 5 0.709 0.0867 0.558 0.901
36 15 0 0.709 0.0867 0.558 0.901
48 14 1 0.662 0.0929 0.503 0.872
60 10 3 0.516 0.1041 0.347 0.766
120 1 3 0.199 0.1510 0.045 0.880
GRADE_F=Gr III: Poor Diff
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 28 4 0.884 0.0548 0.7826 0.998
24 15 10 0.537 0.0920 0.3843 0.752
36 10 4 0.384 0.0924 0.2396 0.615
48 9 1 0.345 0.0907 0.2065 0.578
60 8 1 0.307 0.0884 0.1747 0.540
120 1 2 0.134 0.1041 0.0294 0.614
GRADE_F=NA/Unkown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1095 41 0.965 0.00530 0.955 0.976
24 966 35 0.933 0.00742 0.919 0.948
36 810 35 0.897 0.00934 0.879 0.915
48 681 32 0.859 0.01107 0.838 0.881
60 559 37 0.809 0.01314 0.784 0.835
120 119 87 0.607 0.02270 0.564 0.653
## Univariable Cox Proportional Hazard Model for: GRADE_F
X matrix deemed to be singular; variable 3 4 5 6 7
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ GRADE_F, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
GRADE_FGr II: Mod Diff 0.8651 2.3753 0.4085 2.118 0.034176 *
GRADE_FGr III: Poor Diff 1.4655 4.3297 0.3794 3.863 0.000112 ***
GRADE_FGr IV: Undiff/Anaplastic NA NA 0.0000 NA NA
GRADE_F5 NA NA 0.0000 NA NA
GRADE_F6 NA NA 0.0000 NA NA
GRADE_F7 NA NA 0.0000 NA NA
GRADE_F8 NA NA 0.0000 NA NA
GRADE_FNA/Unkown -0.1722 0.8418 0.3220 -0.535 0.592789
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
GRADE_FGr II: Mod Diff 2.3753 0.421 1.0667 5.289
GRADE_FGr III: Poor Diff 4.3297 0.231 2.0584 9.107
GRADE_FGr IV: Undiff/Anaplastic NA NA NA NA
GRADE_F5 NA NA NA NA
GRADE_F6 NA NA NA NA
GRADE_F7 NA NA NA NA
GRADE_F8 NA NA NA NA
GRADE_FNA/Unkown 0.8418 1.188 0.4479 1.582
Concordance= 0.553 (se = 0.008 )
Rsquare= 0.034 (max possible= 0.956 )
Likelihood ratio test= 47.21 on 3 df, p=3.134e-10
Wald test = 68.23 on 3 df, p=1.021e-14
Score (logrank) test = 82.5 on 3 df, p=0
Removed 6 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: GRADE_F



Clinical T Stage
#uni_var(test_var = "TNM_CLIN_T", data_imp = data)
Clinical N Stage
#uni_var(test_var = "TNM_CLIN_N", data_imp = data)
Clinical M Stage
#uni_var(test_var = "TNM_CLIN_M", data_imp = data)
Clinical Stage Group
uni_var(test_var = "TNM_CLIN_STAGE_GROUP", data_imp = data)
_________________________________________________
## TNM_CLIN_STAGE_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_CLIN_STAGE_GROUP, data = data)
n events median 0.95LCL 0.95UCL
TNM_CLIN_STAGE_GROUP=0 65 14 155.4 114.99 NA
TNM_CLIN_STAGE_GROUP=1 196 35 NA 103.66 NA
TNM_CLIN_STAGE_GROUP=1A 109 14 NA NA NA
TNM_CLIN_STAGE_GROUP=1B 119 19 NA NA NA
TNM_CLIN_STAGE_GROUP=2 184 51 121.8 97.25 NA
TNM_CLIN_STAGE_GROUP=3 15 4 NA 110.72 NA
TNM_CLIN_STAGE_GROUP=3B 1 1 20.9 NA NA
TNM_CLIN_STAGE_GROUP=4 9 7 22.2 10.81 NA
TNM_CLIN_STAGE_GROUP=4A 2 0 NA NA NA
TNM_CLIN_STAGE_GROUP=4B 5 5 12.9 6.67 NA
TNM_CLIN_STAGE_GROUP=N_A 1 0 NA NA NA
TNM_CLIN_STAGE_GROUP=99 655 179 133.4 126.09 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_CLIN_STAGE_GROUP, data = data)
TNM_CLIN_STAGE_GROUP=0
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 58 2 0.966 0.0234 0.922 1.000
24 50 2 0.932 0.0331 0.869 0.999
36 49 1 0.913 0.0373 0.843 0.989
48 39 0 0.913 0.0373 0.843 0.989
60 31 3 0.837 0.0543 0.737 0.950
120 7 5 0.613 0.1068 0.436 0.862
TNM_CLIN_STAGE_GROUP=1
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 169 7 0.962 0.0140 0.935 0.990
24 151 4 0.939 0.0180 0.904 0.974
36 126 4 0.911 0.0220 0.869 0.956
48 105 4 0.882 0.0258 0.832 0.934
60 85 5 0.836 0.0317 0.776 0.900
120 11 11 0.610 0.0665 0.492 0.755
TNM_CLIN_STAGE_GROUP=1A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 93 2 0.979 0.0144 0.951 1.000
24 82 4 0.937 0.0251 0.889 0.987
36 69 2 0.912 0.0297 0.856 0.972
48 53 0 0.912 0.0297 0.856 0.972
60 37 4 0.836 0.0457 0.751 0.930
120 9 1 0.812 0.0503 0.719 0.917
TNM_CLIN_STAGE_GROUP=1B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 105 3 0.974 0.0146 0.946 1.000
24 92 5 0.926 0.0253 0.877 0.977
36 66 4 0.879 0.0332 0.816 0.947
48 54 1 0.864 0.0359 0.797 0.937
60 42 1 0.847 0.0391 0.774 0.927
120 3 5 0.703 0.0691 0.580 0.852
TNM_CLIN_STAGE_GROUP=2
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 163 4 0.977 0.0115 0.954 1.000
24 139 8 0.926 0.0206 0.887 0.967
36 115 6 0.883 0.0260 0.834 0.936
48 96 5 0.841 0.0309 0.782 0.904
60 82 8 0.768 0.0375 0.698 0.845
120 13 16 0.538 0.0576 0.436 0.664
TNM_CLIN_STAGE_GROUP=3
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 13 2 0.867 0.0878 0.711 1
24 13 0 0.867 0.0878 0.711 1
36 12 1 0.800 0.1033 0.621 1
48 12 0 0.800 0.1033 0.621 1
60 12 0 0.800 0.1033 0.621 1
120 1 1 0.533 0.2284 0.230 1
TNM_CLIN_STAGE_GROUP=3B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 0 1 0 1 1
TNM_CLIN_STAGE_GROUP=4
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 6 3 0.667 0.157 0.4200 1.000
24 3 3 0.333 0.157 0.1323 0.840
36 2 1 0.222 0.139 0.0655 0.754
48 1 0 0.222 0.139 0.0655 0.754
60 1 0 0.222 0.139 0.0655 0.754
TNM_CLIN_STAGE_GROUP=4A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 0 1 0 1 1
24 1 0 1 0 1 1
36 1 0 1 0 1 1
TNM_CLIN_STAGE_GROUP=4B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12.000 3.000 2.000 0.600 0.219 0.293 1.000
TNM_CLIN_STAGE_GROUP=N_A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
TNM_CLIN_STAGE_GROUP=99
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 572 23 0.963 0.00749 0.949 0.978
24 502 22 0.925 0.01084 0.904 0.946
36 425 21 0.883 0.01363 0.857 0.910
48 364 24 0.831 0.01649 0.799 0.864
60 302 23 0.775 0.01904 0.739 0.813
120 81 56 0.571 0.02868 0.518 0.630
## Univariable Cox Proportional Hazard Model for: TNM_CLIN_STAGE_GROUP
Loglik converged before variable 14,17 ; beta may be infinite. X matrix deemed to be singular; variable 4 6 7 8 10 12 16
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_CLIN_STAGE_GROUP, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
TNM_CLIN_STAGE_GROUP1 -7.613e-03 9.924e-01 3.165e-01 -0.024 0.98081
TNM_CLIN_STAGE_GROUP1A -2.858e-01 7.514e-01 3.781e-01 -0.756 0.44982
TNM_CLIN_STAGE_GROUP1B 6.981e-02 1.072e+00 3.531e-01 0.198 0.84325
TNM_CLIN_STAGE_GROUP1C NA NA 0.000e+00 NA NA
TNM_CLIN_STAGE_GROUP2 3.737e-01 1.453e+00 3.018e-01 1.238 0.21572
TNM_CLIN_STAGE_GROUP2A NA NA 0.000e+00 NA NA
TNM_CLIN_STAGE_GROUP2B NA NA 0.000e+00 NA NA
TNM_CLIN_STAGE_GROUP2C NA NA 0.000e+00 NA NA
TNM_CLIN_STAGE_GROUP3 -4.767e-02 9.534e-01 5.674e-01 -0.084 0.93304
TNM_CLIN_STAGE_GROUP3A NA NA 0.000e+00 NA NA
TNM_CLIN_STAGE_GROUP3B 2.934e+00 1.881e+01 1.040e+00 2.821 0.00479 **
TNM_CLIN_STAGE_GROUP3C NA NA 0.000e+00 NA NA
TNM_CLIN_STAGE_GROUP4 2.332e+00 1.030e+01 4.653e-01 5.012 5.40e-07 ***
TNM_CLIN_STAGE_GROUP4A -1.243e+01 3.992e-06 1.258e+03 -0.010 0.99212
TNM_CLIN_STAGE_GROUP4B 3.699e+00 4.040e+01 5.366e-01 6.893 5.46e-12 ***
TNM_CLIN_STAGE_GROUP4C NA NA 0.000e+00 NA NA
TNM_CLIN_STAGE_GROUPN_A -1.242e+01 4.043e-06 7.664e+03 -0.002 0.99871
TNM_CLIN_STAGE_GROUP99 2.609e-01 1.298e+00 2.776e-01 0.940 0.34729
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TNM_CLIN_STAGE_GROUP1 9.924e-01 1.008e+00 0.5337 1.845
TNM_CLIN_STAGE_GROUP1A 7.514e-01 1.331e+00 0.3581 1.577
TNM_CLIN_STAGE_GROUP1B 1.072e+00 9.326e-01 0.5368 2.142
TNM_CLIN_STAGE_GROUP1C NA NA NA NA
TNM_CLIN_STAGE_GROUP2 1.453e+00 6.882e-01 0.8042 2.626
TNM_CLIN_STAGE_GROUP2A NA NA NA NA
TNM_CLIN_STAGE_GROUP2B NA NA NA NA
TNM_CLIN_STAGE_GROUP2C NA NA NA NA
TNM_CLIN_STAGE_GROUP3 9.534e-01 1.049e+00 0.3136 2.899
TNM_CLIN_STAGE_GROUP3A NA NA NA NA
TNM_CLIN_STAGE_GROUP3B 1.881e+01 5.317e-02 2.4491 144.443
TNM_CLIN_STAGE_GROUP3C NA NA NA NA
TNM_CLIN_STAGE_GROUP4 1.030e+01 9.712e-02 4.1365 25.628
TNM_CLIN_STAGE_GROUP4A 3.992e-06 2.505e+05 0.0000 Inf
TNM_CLIN_STAGE_GROUP4B 4.040e+01 2.475e-02 14.1128 115.648
TNM_CLIN_STAGE_GROUP4C NA NA NA NA
TNM_CLIN_STAGE_GROUPN_A 4.043e-06 2.473e+05 0.0000 Inf
TNM_CLIN_STAGE_GROUP99 1.298e+00 7.704e-01 0.7534 2.236
Concordance= 0.56 (se = 0.017 )
Rsquare= 0.039 (max possible= 0.956 )
Likelihood ratio test= 54.82 on 11 df, p=8.353e-08
Wald test = 97.88 on 11 df, p=4.441e-16
Score (logrank) test = 201.8 on 11 df, p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 8 rows containing missing values (geom_errorbar).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).
## Unadjusted Kaplan Meier Overall Survival Curve for: TNM_CLIN_STAGE_GROUP
This manual palette can handle a maximum of 10 values. You have supplied 12.



Pathologic T Stage
#uni_var(test_var = "TNM_PATH_T", data_imp = data)
Pathologic N Stage
uni_var(test_var = "TNM_PATH_N", data_imp = data)
_________________________________________________
## TNM_PATH_N
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_N, data = data)
213 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
TNM_PATH_N=N_A 1 0 NA NA NA
TNM_PATH_N=p0 282 52 155.43 125.7 NA
TNM_PATH_N=p1 9 7 23.56 21.6 NA
TNM_PATH_N=p1A 1 1 39.16 NA NA
TNM_PATH_N=p1B 1 1 2.04 NA NA
TNM_PATH_N=p2 1 1 1.87 NA NA
TNM_PATH_N=p2B 1 0 NA NA NA
TNM_PATH_N=p2C 6 5 14.06 11.2 NA
TNM_PATH_N=p3 1 1 4.34 NA NA
TNM_PATH_N=pX 845 228 141.77 126.1 NA
Error in array(xx, dim = dd) : negative length vectors are not allowed
Pathologic M Stage
uni_var(test_var = "TNM_PATH_M", data_imp = data)
_________________________________________________
## TNM_PATH_M
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_M, data = data)
455 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
TNM_PATH_M=p1 1 1 13.5 NA NA
TNM_PATH_M=pX 260 97 131.9 125 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_M, data = data)
455 observations deleted due to missingness
TNM_PATH_M=p1
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 0 1 0 1 1
TNM_PATH_M=pX
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 233 12 0.953 0.0134 0.927 0.979
24 221 8 0.920 0.0173 0.886 0.954
36 209 11 0.874 0.0212 0.833 0.916
48 190 14 0.815 0.0250 0.767 0.865
60 173 13 0.758 0.0277 0.706 0.815
120 53 30 0.592 0.0355 0.526 0.666
## Univariable Cox Proportional Hazard Model for: TNM_PATH_M
X matrix deemed to be singular; variable 2 3 4 5
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_M, data = data)
n= 261, number of events= 98
(455 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TNM_PATH_Mp1 3.021 20.509 1.041 2.902 0.00371 **
TNM_PATH_Mp1A NA NA 0.000 NA NA
TNM_PATH_Mp1B NA NA 0.000 NA NA
TNM_PATH_Mp1C NA NA 0.000 NA NA
TNM_PATH_MpX NA NA 0.000 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_Mp1 20.51 0.04876 2.667 157.7
TNM_PATH_Mp1A NA NA NA NA
TNM_PATH_Mp1B NA NA NA NA
TNM_PATH_Mp1C NA NA NA NA
TNM_PATH_MpX NA NA NA NA
Concordance= 0.507 (se = 0.002 )
Rsquare= 0.015 (max possible= 0.977 )
Likelihood ratio test= 4.07 on 1 df, p=0.04376
Wald test = 8.42 on 1 df, p=0.003705
Score (logrank) test = 17.13 on 1 df, p=3.493e-05
Removed 5 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: TNM_PATH_M



Pathologic Stage Group
uni_var(test_var = "TNM_PATH_STAGE_GROUP", data_imp = data)
_________________________________________________
## TNM_PATH_STAGE_GROUP
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_STAGE_GROUP, data = data)
79 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
TNM_PATH_STAGE_GROUP=0 58 12 NA 128.46 NA
TNM_PATH_STAGE_GROUP=1 107 18 NA 120.94 NA
TNM_PATH_STAGE_GROUP=1A 104 18 155.4 114.99 NA
TNM_PATH_STAGE_GROUP=1B 92 13 NA NA NA
TNM_PATH_STAGE_GROUP=2 120 24 NA 130.53 NA
TNM_PATH_STAGE_GROUP=3 26 14 110.7 49.74 NA
TNM_PATH_STAGE_GROUP=3A 2 2 20.6 2.04 NA
TNM_PATH_STAGE_GROUP=3C 5 4 14.6 11.17 NA
TNM_PATH_STAGE_GROUP=4 4 2 23.6 5.06 NA
TNM_PATH_STAGE_GROUP=4A 5 3 16.9 4.34 NA
TNM_PATH_STAGE_GROUP=4B 1 1 13.5 NA NA
TNM_PATH_STAGE_GROUP=N_A 1 0 NA NA NA
TNM_PATH_STAGE_GROUP=99 757 204 133.1 115.94 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_STAGE_GROUP, data = data)
79 observations deleted due to missingness
TNM_PATH_STAGE_GROUP=0
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 52 1 0.981 0.0190 0.944 1.000
24 46 1 0.961 0.0269 0.910 1.000
36 43 1 0.939 0.0340 0.875 1.000
48 39 0 0.939 0.0340 0.875 1.000
60 33 2 0.888 0.0477 0.800 0.987
120 10 6 0.694 0.0806 0.553 0.872
TNM_PATH_STAGE_GROUP=1
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 92 1 0.990 0.00985 0.971 1.000
24 84 1 0.979 0.01503 0.950 1.000
36 76 1 0.966 0.01948 0.928 1.000
48 66 2 0.940 0.02613 0.890 0.993
60 54 4 0.879 0.03833 0.807 0.958
120 11 7 0.668 0.08129 0.526 0.848
TNM_PATH_STAGE_GROUP=1A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 97 1 0.990 0.0100 0.970 1.000
24 87 3 0.958 0.0206 0.918 0.999
36 77 3 0.923 0.0280 0.870 0.980
48 58 2 0.896 0.0331 0.834 0.963
60 45 3 0.844 0.0426 0.765 0.932
120 9 5 0.652 0.0895 0.498 0.853
TNM_PATH_STAGE_GROUP=1B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 78 2 0.977 0.0161 0.946 1.000
24 69 1 0.963 0.0208 0.924 1.000
36 52 2 0.931 0.0302 0.874 0.992
48 41 3 0.870 0.0444 0.787 0.961
60 34 2 0.823 0.0530 0.725 0.934
120 2 3 0.723 0.0731 0.593 0.881
TNM_PATH_STAGE_GROUP=2
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 107 1 0.991 0.00897 0.974 1.000
24 93 5 0.942 0.02315 0.897 0.988
36 83 2 0.920 0.02704 0.869 0.975
48 72 3 0.884 0.03328 0.821 0.951
60 62 2 0.858 0.03706 0.788 0.933
120 19 8 0.720 0.05499 0.620 0.836
TNM_PATH_STAGE_GROUP=3
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 23 3 0.885 0.0627 0.770 1.000
24 21 2 0.808 0.0773 0.670 0.974
36 21 0 0.808 0.0773 0.670 0.974
48 18 3 0.692 0.0905 0.536 0.895
60 17 1 0.654 0.0933 0.494 0.865
120 2 4 0.294 0.1448 0.112 0.772
TNM_PATH_STAGE_GROUP=3A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 1 0.5 0.354 0.125 1
24 1 0 0.5 0.354 0.125 1
36 1 0 0.5 0.354 0.125 1
TNM_PATH_STAGE_GROUP=3C
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12.000 3.000 2.000 0.600 0.219 0.293 1.000
TNM_PATH_STAGE_GROUP=4
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 3 1 0.75 0.217 0.426 1
24 2 1 0.50 0.250 0.188 1
TNM_PATH_STAGE_GROUP=4A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 3 2 0.6 0.219 0.293 1
24 2 1 0.4 0.219 0.137 1
36 2 0 0.4 0.219 0.137 1
48 1 0 0.4 0.219 0.137 1
60 1 0 0.4 0.219 0.137 1
TNM_PATH_STAGE_GROUP=4B
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 0 1 0 1 1
TNM_PATH_STAGE_GROUP=N_A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
TNM_PATH_STAGE_GROUP=99
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 660 30 0.958 0.00747 0.944 0.973
24 573 29 0.915 0.01065 0.894 0.936
36 476 29 0.865 0.01351 0.839 0.892
48 402 19 0.829 0.01529 0.799 0.859
60 330 29 0.766 0.01808 0.731 0.802
120 72 60 0.552 0.02880 0.499 0.612
## Univariable Cox Proportional Hazard Model for: TNM_PATH_STAGE_GROUP
Loglik converged before variable 17 ; beta may be infinite. X matrix deemed to be singular; variable 4 6 7 8 11 16
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ TNM_PATH_STAGE_GROUP, data = data)
n= 1282, number of events= 315
(79 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
TNM_PATH_STAGE_GROUP1 4.136e-02 1.042e+00 3.731e-01 0.111 0.91173
TNM_PATH_STAGE_GROUP1A 6.470e-02 1.067e+00 3.732e-01 0.173 0.86234
TNM_PATH_STAGE_GROUP1B 1.517e-01 1.164e+00 4.016e-01 0.378 0.70565
TNM_PATH_STAGE_GROUP1C NA NA 0.000e+00 NA NA
TNM_PATH_STAGE_GROUP2 5.142e-02 1.053e+00 3.536e-01 0.145 0.88438
TNM_PATH_STAGE_GROUP2A NA NA 0.000e+00 NA NA
TNM_PATH_STAGE_GROUP2B NA NA 0.000e+00 NA NA
TNM_PATH_STAGE_GROUP2C NA NA 0.000e+00 NA NA
TNM_PATH_STAGE_GROUP3 9.321e-01 2.540e+00 3.937e-01 2.368 0.01790 *
TNM_PATH_STAGE_GROUP3A 3.076e+00 2.166e+01 7.676e-01 4.007 6.16e-05 ***
TNM_PATH_STAGE_GROUP3B NA NA 0.000e+00 NA NA
TNM_PATH_STAGE_GROUP3C 3.389e+00 2.963e+01 5.896e-01 5.747 9.07e-09 ***
TNM_PATH_STAGE_GROUP4 2.274e+00 9.716e+00 7.682e-01 2.960 0.00308 **
TNM_PATH_STAGE_GROUP4A 1.857e+00 6.404e+00 6.462e-01 2.874 0.00406 **
TNM_PATH_STAGE_GROUP4B 3.623e+00 3.745e+01 1.050e+00 3.450 0.00056 ***
TNM_PATH_STAGE_GROUP4C NA NA 0.000e+00 NA NA
TNM_PATH_STAGE_GROUPN_A -8.256e+00 2.597e-04 1.084e+03 -0.008 0.99392
TNM_PATH_STAGE_GROUP99 5.189e-01 1.680e+00 2.973e-01 1.745 0.08097 .
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
TNM_PATH_STAGE_GROUP1 1.042e+00 9.595e-01 0.5016 2.165
TNM_PATH_STAGE_GROUP1A 1.067e+00 9.373e-01 0.5134 2.217
TNM_PATH_STAGE_GROUP1B 1.164e+00 8.593e-01 0.5297 2.557
TNM_PATH_STAGE_GROUP1C NA NA NA NA
TNM_PATH_STAGE_GROUP2 1.053e+00 9.499e-01 0.5265 2.105
TNM_PATH_STAGE_GROUP2A NA NA NA NA
TNM_PATH_STAGE_GROUP2B NA NA NA NA
TNM_PATH_STAGE_GROUP2C NA NA NA NA
TNM_PATH_STAGE_GROUP3 2.540e+00 3.937e-01 1.1741 5.494
TNM_PATH_STAGE_GROUP3A 2.166e+01 4.616e-02 4.8121 97.525
TNM_PATH_STAGE_GROUP3B NA NA NA NA
TNM_PATH_STAGE_GROUP3C 2.963e+01 3.375e-02 9.3287 94.104
TNM_PATH_STAGE_GROUP4 9.716e+00 1.029e-01 2.1557 43.792
TNM_PATH_STAGE_GROUP4A 6.404e+00 1.562e-01 1.8048 22.722
TNM_PATH_STAGE_GROUP4B 3.745e+01 2.670e-02 4.7822 293.229
TNM_PATH_STAGE_GROUP4C NA NA NA NA
TNM_PATH_STAGE_GROUPN_A 2.597e-04 3.850e+03 0.0000 Inf
TNM_PATH_STAGE_GROUP99 1.680e+00 5.952e-01 0.9381 3.009
Concordance= 0.596 (se = 0.016 )
Rsquare= 0.04 (max possible= 0.957 )
Likelihood ratio test= 52.82 on 12 df, p=4.44e-07
Wald test = 83.28 on 12 df, p=9.753e-13
Score (logrank) test = 142.7 on 12 df, p=0
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 7 rows containing missing values (geom_errorbar).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 19 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).
## Unadjusted Kaplan Meier Overall Survival Curve for: TNM_PATH_STAGE_GROUP
This manual palette can handle a maximum of 10 values. You have supplied 13.



Margins
uni_var(test_var = "MARGINS", data_imp = data)
_________________________________________________
## MARGINS
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ MARGINS, data = data)
n events median 0.95LCL 0.95UCL
MARGINS=No Residual 601 124 NA 128.5 NA
MARGINS=Residual, NOS 164 38 131.9 121.8 NA
MARGINS=Microscopic Resid 351 71 155.4 133.4 NA
MARGINS=Macroscopic Resid 17 7 71.5 49.7 NA
MARGINS=Not evaluable 22 3 NA 92.3 NA
MARGINS=No surg 162 75 63.2 53.8 75.6
MARGINS=Unknown 44 11 NA 72.4 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ MARGINS, data = data)
MARGINS=No Residual
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 524 13 0.977 0.00638 0.964 0.989
24 472 14 0.950 0.00945 0.931 0.968
36 398 16 0.915 0.01246 0.891 0.940
48 344 14 0.881 0.01503 0.852 0.910
60 285 21 0.823 0.01858 0.787 0.860
120 62 41 0.619 0.03318 0.557 0.687
MARGINS=Residual, NOS
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 148 4 0.975 0.0124 0.951 0.999
24 125 9 0.912 0.0233 0.868 0.959
36 107 4 0.881 0.0272 0.829 0.936
48 88 4 0.846 0.0313 0.787 0.910
60 70 6 0.784 0.0379 0.713 0.862
120 13 8 0.633 0.0600 0.526 0.762
MARGINS=Microscopic Resid
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 313 11 0.967 0.00972 0.948 0.986
24 279 7 0.945 0.01273 0.920 0.970
36 238 9 0.912 0.01623 0.881 0.945
48 200 8 0.880 0.01931 0.843 0.918
60 174 7 0.848 0.02207 0.806 0.892
120 38 24 0.659 0.04124 0.583 0.745
MARGINS=Macroscopic Resid
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 14 0 1.000 0.0000 1.000 1.000
24 12 2 0.857 0.0935 0.692 1.000
36 9 1 0.771 0.1170 0.573 1.000
48 9 0 0.771 0.1170 0.573 1.000
60 5 2 0.579 0.1471 0.351 0.952
120 2 1 0.463 0.1567 0.238 0.899
MARGINS=Not evaluable
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 17 0 1.000 0.0000 1.000 1
24 16 0 1.000 0.0000 1.000 1
36 13 0 1.000 0.0000 1.000 1
48 10 1 0.923 0.0739 0.789 1
60 8 0 0.923 0.0739 0.789 1
120 2 2 0.659 0.1662 0.402 1
MARGINS=No surg
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 129 19 0.877 0.0265 0.826 0.930
24 93 19 0.737 0.0370 0.668 0.813
36 69 9 0.657 0.0415 0.581 0.744
48 52 5 0.604 0.0444 0.523 0.698
60 32 6 0.519 0.0501 0.429 0.627
120 4 15 0.211 0.0607 0.120 0.371
MARGINS=Unknown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 40 1 0.976 0.0235 0.931 1.000
24 36 1 0.951 0.0342 0.886 1.000
36 31 1 0.923 0.0431 0.842 1.000
48 21 2 0.863 0.0573 0.758 0.983
60 18 2 0.779 0.0767 0.642 0.945
120 4 4 0.567 0.1076 0.391 0.823
## Univariable Cox Proportional Hazard Model for: MARGINS
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ MARGINS, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
MARGINSResidual, NOS 0.21309 1.23750 0.18558 1.148 0.2509
MARGINSMicroscopic Resid -0.05559 0.94593 0.14886 -0.373 0.7088
MARGINSMacroscopic Resid 0.88784 2.42987 0.38887 2.283 0.0224 *
MARGINSNot evaluable -0.26974 0.76358 0.58437 -0.462 0.6444
MARGINSNo surg 1.37848 3.96887 0.14818 9.303 <2e-16 ***
MARGINSUnknown 0.26725 1.30637 0.31484 0.849 0.3960
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
MARGINSResidual, NOS 1.2375 0.8081 0.8602 1.780
MARGINSMicroscopic Resid 0.9459 1.0572 0.7066 1.266
MARGINSMacroscopic Resid 2.4299 0.4115 1.1339 5.207
MARGINSNot evaluable 0.7636 1.3096 0.2429 2.400
MARGINSNo surg 3.9689 0.2520 2.9685 5.306
MARGINSUnknown 1.3064 0.7655 0.7048 2.421
Concordance= 0.617 (se = 0.017 )
Rsquare= 0.061 (max possible= 0.956 )
Likelihood ratio test= 85.18 on 6 df, p=3.331e-16
Wald test = 107 on 6 df, p=0
Score (logrank) test = 123.5 on 6 df, p=0
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: MARGINS



Margins Yes/No
#uni_var(test_var = "MARGINS_YN", data_imp = data)
30 Day Readmission
uni_var(test_var = "READM_HOSP_30_DAYS_F", data_imp = data)
_________________________________________________
## READM_HOSP_30_DAYS_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ READM_HOSP_30_DAYS_F, data = data)
n events median 0.95LCL 0.95UCL
READM_HOSP_30_DAYS_F=No_Surg_or_No_Readmit 1293 305 141.77 128.2 NA
READM_HOSP_30_DAYS_F=Unplan_Readmit_Same 36 15 110.72 59.9 NA
READM_HOSP_30_DAYS_F=Plan_Readmit_Same 15 5 90.28 66.2 NA
READM_HOSP_30_DAYS_F=PlanUnplan_Same 1 1 1.38 NA NA
READM_HOSP_30_DAYS_F=9 16 3 NA NA NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ READM_HOSP_30_DAYS_F, data = data)
READM_HOSP_30_DAYS_F=No_Surg_or_No_Readmit
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1127 44 0.964 0.00533 0.954 0.975
24 980 47 0.922 0.00788 0.907 0.937
36 822 37 0.884 0.00968 0.866 0.904
48 684 33 0.846 0.01130 0.825 0.869
60 558 40 0.794 0.01335 0.768 0.820
120 118 88 0.591 0.02269 0.548 0.637
READM_HOSP_30_DAYS_F=Unplan_Readmit_Same
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 30 3 0.915 0.0470 0.827 1.000
24 27 3 0.823 0.0656 0.704 0.963
36 24 1 0.792 0.0703 0.665 0.942
48 21 1 0.756 0.0758 0.621 0.920
60 17 3 0.642 0.0883 0.491 0.841
120 5 4 0.441 0.1073 0.273 0.710
READM_HOSP_30_DAYS_F=Plan_Readmit_Same
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 14 0 1.000 0.0000 1.000 1
24 13 1 0.929 0.0688 0.803 1
36 7 2 0.774 0.1152 0.578 1
48 7 0 0.774 0.1152 0.578 1
60 6 0 0.774 0.1152 0.578 1
READM_HOSP_30_DAYS_F=PlanUnplan_Same
time n.risk n.event survival std.err lower 95% CI upper 95% CI
READM_HOSP_30_DAYS_F=9
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 14 0 1.000 0.0000 1.000 1
24 13 1 0.929 0.0688 0.803 1
36 12 0 0.929 0.0688 0.803 1
48 12 0 0.929 0.0688 0.803 1
60 11 1 0.851 0.0973 0.680 1
120 2 1 0.766 0.1191 0.565 1
## Univariable Cox Proportional Hazard Model for: READM_HOSP_30_DAYS_F
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ READM_HOSP_30_DAYS_F, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
READM_HOSP_30_DAYS_FUnplan_Readmit_Same 0.4690 1.5985 0.2646 1.773 0.0763 .
READM_HOSP_30_DAYS_FPlan_Readmit_Same 0.4208 1.5231 0.4511 0.933 0.3510
READM_HOSP_30_DAYS_FPlanUnplan_Same 5.2772 195.8253 1.0691 4.936 7.98e-07 ***
READM_HOSP_30_DAYS_F9 -0.5388 0.5834 0.5804 -0.928 0.3533
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
READM_HOSP_30_DAYS_FUnplan_Readmit_Same 1.5985 0.625602 0.9516 2.685
READM_HOSP_30_DAYS_FPlan_Readmit_Same 1.5231 0.656547 0.6291 3.688
READM_HOSP_30_DAYS_FPlanUnplan_Same 195.8253 0.005107 24.0888 1591.923
READM_HOSP_30_DAYS_F9 0.5834 1.713996 0.1870 1.820
Concordance= 0.518 (se = 0.007 )
Rsquare= 0.009 (max possible= 0.956 )
Likelihood ratio test= 12.97 on 4 df, p=0.0114
Wald test = 29.04 on 4 df, p=7.682e-06
Score (logrank) test = 171.7 on 4 df, p=0
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: READM_HOSP_30_DAYS_F



Radiation Type
uni_var(test_var = "RX_SUMM_RADIATION_F", data_imp = data)
_________________________________________________
## RX_SUMM_RADIATION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RX_SUMM_RADIATION_F, data = data)
n events median 0.95LCL 0.95UCL
RX_SUMM_RADIATION_F=None 1269 290 149.6 128.5 NA
RX_SUMM_RADIATION_F=Beam Radiation 73 35 61.9 40.6 NA
RX_SUMM_RADIATION_F=Radioactive Implants 1 0 NA NA NA
RX_SUMM_RADIATION_F=Beam + Imp or Isotopes 1 0 NA NA NA
RX_SUMM_RADIATION_F=Unknown 17 4 NA 131.9 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RX_SUMM_RADIATION_F, data = data)
RX_SUMM_RADIATION_F=None
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1105 39 0.968 0.00512 0.958 0.978
24 974 40 0.931 0.00751 0.916 0.946
36 818 37 0.893 0.00947 0.875 0.912
48 685 31 0.857 0.01109 0.835 0.879
60 560 41 0.802 0.01330 0.776 0.828
120 115 88 0.595 0.02306 0.551 0.642
RX_SUMM_RADIATION_F=Beam Radiation
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 64 8 0.890 0.0366 0.822 0.965
24 44 12 0.711 0.0548 0.611 0.827
36 33 3 0.658 0.0587 0.553 0.784
48 25 3 0.595 0.0634 0.483 0.733
60 19 3 0.515 0.0697 0.395 0.671
120 5 5 0.354 0.0798 0.228 0.551
RX_SUMM_RADIATION_F=Radioactive Implants
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 0 1 0 1 1
RX_SUMM_RADIATION_F=Beam + Imp or Isotopes
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1 0 1 0 1 1
24 1 0 1 0 1 1
36 1 0 1 0 1 1
48 1 0 1 0 1 1
60 1 0 1 0 1 1
RX_SUMM_RADIATION_F=Unknown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 14 1 0.933 0.0644 0.815 1
24 14 0 0.933 0.0644 0.815 1
36 13 0 0.933 0.0644 0.815 1
48 13 0 0.933 0.0644 0.815 1
60 12 0 0.933 0.0644 0.815 1
120 5 2 0.770 0.1179 0.570 1
## Univariable Cox Proportional Hazard Model for: RX_SUMM_RADIATION_F
Loglik converged before variable 2,4 ; beta may be infinite. X matrix deemed to be singular; variable 3 5
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RX_SUMM_RADIATION_F, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
RX_SUMM_RADIATION_FBeam Radiation 1.037e+00 2.821e+00 1.794e-01 5.782 7.38e-09 ***
RX_SUMM_RADIATION_FRadioactive Implants -1.306e+01 2.122e-06 2.873e+03 -0.005 0.996
RX_SUMM_RADIATION_FRadioisotopes NA NA 0.000e+00 NA NA
RX_SUMM_RADIATION_FBeam + Imp or Isotopes -1.305e+01 2.140e-06 1.133e+03 -0.012 0.991
RX_SUMM_RADIATION_FRadiation, NOS NA NA 0.000e+00 NA NA
RX_SUMM_RADIATION_FUnknown -4.140e-01 6.610e-01 5.046e-01 -0.820 0.412
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
RX_SUMM_RADIATION_FBeam Radiation 2.821e+00 3.545e-01 1.9849 4.009
RX_SUMM_RADIATION_FRadioactive Implants 2.122e-06 4.713e+05 0.0000 Inf
RX_SUMM_RADIATION_FRadioisotopes NA NA NA NA
RX_SUMM_RADIATION_FBeam + Imp or Isotopes 2.140e-06 4.673e+05 0.0000 Inf
RX_SUMM_RADIATION_FRadiation, NOS NA NA NA NA
RX_SUMM_RADIATION_FUnknown 6.610e-01 1.513e+00 0.2458 1.777
Concordance= 0.548 (se = 0.007 )
Rsquare= 0.02 (max possible= 0.956 )
Likelihood ratio test= 27.66 on 4 df, p=1.462e-05
Wald test = 34.49 on 4 df, p=5.923e-07
Score (logrank) test = 38.21 on 4 df, p=1.013e-07
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 3 rows containing missing values (geom_errorbar).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).
## Unadjusted Kaplan Meier Overall Survival Curve for: RX_SUMM_RADIATION_F



Lymphovascular Invasion
uni_var(test_var = "LYMPH_VASCULAR_INVASION_F", data_imp = data)
_________________________________________________
## LYMPH_VASCULAR_INVASION_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ LYMPH_VASCULAR_INVASION_F, data = data)
622 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
LYMPH_VASCULAR_INVASION_F=Neg_LymphVasc_Inv 272 43 NA 80.1 NA
LYMPH_VASCULAR_INVASION_F=Pos_LumphVasc_Inv 28 15 27.8 20.9 NA
LYMPH_VASCULAR_INVASION_F=N_A 1 0 NA NA NA
LYMPH_VASCULAR_INVASION_F=Unknown 438 61 NA NA NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ LYMPH_VASCULAR_INVASION_F, data = data)
622 observations deleted due to missingness
LYMPH_VASCULAR_INVASION_F=Neg_LymphVasc_Inv
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 235 8 0.968 0.0110 0.947 0.990
24 197 10 0.925 0.0172 0.892 0.959
36 148 7 0.888 0.0214 0.847 0.931
48 100 4 0.859 0.0250 0.812 0.910
60 62 8 0.777 0.0361 0.709 0.851
LYMPH_VASCULAR_INVASION_F=Pos_LumphVasc_Inv
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 22 5 0.816 0.0744 0.682 0.976
24 11 7 0.515 0.1030 0.348 0.762
36 7 1 0.458 0.1062 0.290 0.721
48 3 2 0.294 0.1180 0.134 0.646
60 3 0 0.294 0.1180 0.134 0.646
LYMPH_VASCULAR_INVASION_F=N_A
time n.risk n.event survival std.err lower 95% CI upper 95% CI
LYMPH_VASCULAR_INVASION_F=Unknown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 372 10 0.975 0.00772 0.960 0.991
24 303 15 0.933 0.01301 0.908 0.959
36 216 14 0.884 0.01775 0.850 0.920
48 165 3 0.871 0.01913 0.834 0.909
60 108 9 0.816 0.02524 0.768 0.867
## Univariable Cox Proportional Hazard Model for: LYMPH_VASCULAR_INVASION_F
Loglik converged before variable 2 ; beta may be infinite.
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ LYMPH_VASCULAR_INVASION_F, data = data)
n= 739, number of events= 119
(622 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
LYMPH_VASCULAR_INVASION_FPos_LumphVasc_Inv 1.688e+00 5.408e+00 3.019e-01 5.591 2.26e-08 ***
LYMPH_VASCULAR_INVASION_FN_A -1.057e+01 2.561e-05 1.657e+03 -0.006 0.995
LYMPH_VASCULAR_INVASION_FUnknown -1.077e-01 8.979e-01 1.992e-01 -0.540 0.589
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
LYMPH_VASCULAR_INVASION_FPos_LumphVasc_Inv 5.408e+00 1.849e-01 2.9927 9.774
LYMPH_VASCULAR_INVASION_FN_A 2.561e-05 3.905e+04 0.0000 Inf
LYMPH_VASCULAR_INVASION_FUnknown 8.979e-01 1.114e+00 0.6077 1.327
Concordance= 0.574 (se = 0.025 )
Rsquare= 0.035 (max possible= 0.85 )
Likelihood ratio test= 26.54 on 3 df, p=7.368e-06
Wald test = 39.87 on 3 df, p=1.136e-08
Score (logrank) test = 51.11 on 3 df, p=4.645e-11
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 4 rows containing missing values (geom_text).Removed 4 rows containing missing values (geom_text).Removed 4 rows containing missing values (geom_text).Removed 4 rows containing missing values (geom_text).Removed 4 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).
## Unadjusted Kaplan Meier Overall Survival Curve for: LYMPH_VASCULAR_INVASION_F



Endoscopic/Robotic
uni_var(test_var = "RX_HOSP_SURG_APPR_2010_F", data_imp = data)
_________________________________________________
## RX_HOSP_SURG_APPR_2010_F
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)
622 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
RX_HOSP_SURG_APPR_2010_F=No_Surg 123 38 61.9 53.5 NA
RX_HOSP_SURG_APPR_2010_F=Robot_Assist 2 0 NA NA NA
RX_HOSP_SURG_APPR_2010_F=Endo_Lap 18 1 NA NA NA
RX_HOSP_SURG_APPR_2010_F=Endo_Lap_to_Open 2 0 NA NA NA
RX_HOSP_SURG_APPR_2010_F=Open_Unknown 594 80 NA NA NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)
622 observations deleted due to missingness
RX_HOSP_SURG_APPR_2010_F=No_Surg
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 95 9 0.920 0.0255 0.872 0.972
24 63 14 0.769 0.0430 0.689 0.858
36 40 7 0.671 0.0510 0.578 0.779
48 24 3 0.612 0.0569 0.510 0.734
60 9 2 0.532 0.0728 0.407 0.695
RX_HOSP_SURG_APPR_2010_F=Robot_Assist
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 0 1 0 1 1
24 2 0 1 0 1 1
RX_HOSP_SURG_APPR_2010_F=Endo_Lap
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 15 0 1.0 0.000 1.000 1
24 15 0 1.0 0.000 1.000 1
36 12 0 1.0 0.000 1.000 1
48 7 0 1.0 0.000 1.000 1
60 4 1 0.8 0.179 0.516 1
RX_HOSP_SURG_APPR_2010_F=Endo_Lap_to_Open
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 2 0 1 0 1 1
24 2 0 1 0 1 1
36 2 0 1 0 1 1
48 2 0 1 0 1 1
60 2 0 1 0 1 1
RX_HOSP_SURG_APPR_2010_F=Open_Unknown
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 515 14 0.975 0.00672 0.961 0.988
24 429 18 0.938 0.01066 0.917 0.959
36 317 15 0.901 0.01388 0.874 0.929
48 235 6 0.881 0.01585 0.850 0.913
60 158 14 0.821 0.02141 0.780 0.864
## Univariable Cox Proportional Hazard Model for: RX_HOSP_SURG_APPR_2010_F
Loglik converged before variable 1,4 ; beta may be infinite. X matrix deemed to be singular; variable 2 6
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RX_HOSP_SURG_APPR_2010_F, data = data)
n= 739, number of events= 119
(622 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
RX_HOSP_SURG_APPR_2010_FRobot_Assist -1.646e+01 7.100e-08 4.568e+03 -0.004 0.9971
RX_HOSP_SURG_APPR_2010_FRobot_to_Open NA NA 0.000e+00 NA NA
RX_HOSP_SURG_APPR_2010_FEndo_Lap -2.251e+00 1.053e-01 1.014e+00 -2.220 0.0264 *
RX_HOSP_SURG_APPR_2010_FEndo_Lap_to_Open -1.645e+01 7.210e-08 2.314e+03 -0.007 0.9943
RX_HOSP_SURG_APPR_2010_FOpen_Unknown -1.305e+00 2.713e-01 2.007e-01 -6.499 8.1e-11 ***
RX_HOSP_SURG_APPR_2010_FUnknown NA NA 0.000e+00 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
RX_HOSP_SURG_APPR_2010_FRobot_Assist 7.100e-08 1.408e+07 0.00000 Inf
RX_HOSP_SURG_APPR_2010_FRobot_to_Open NA NA NA NA
RX_HOSP_SURG_APPR_2010_FEndo_Lap 1.053e-01 9.494e+00 0.01444 0.7684
RX_HOSP_SURG_APPR_2010_FEndo_Lap_to_Open 7.210e-08 1.387e+07 0.00000 Inf
RX_HOSP_SURG_APPR_2010_FOpen_Unknown 2.713e-01 3.686e+00 0.18306 0.4021
RX_HOSP_SURG_APPR_2010_FUnknown NA NA NA NA
Concordance= 0.627 (se = 0.019 )
Rsquare= 0.052 (max possible= 0.85 )
Likelihood ratio test= 39.63 on 4 df, p=5.172e-08
Wald test = 44.06 on 4 df, p=6.243e-09
Score (logrank) test = 52.41 on 4 df, p=1.135e-10
Transformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 3 rows containing missing values (geom_errorbar).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 7 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).
## Unadjusted Kaplan Meier Overall Survival Curve for: RX_HOSP_SURG_APPR_2010_F



Surgery Radiation Sequence
uni_var(test_var = "SURG_RAD_SEQ", data_imp = data)
_________________________________________________
## SURG_RAD_SEQ
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURG_RAD_SEQ, data = data)
n events median 0.95LCL 0.95UCL
SURG_RAD_SEQ=Surg Alone 1158 241 155.4 141.8 NA
SURG_RAD_SEQ=Surg then Rad 23 9 125.6 39.2 NA
SURG_RAD_SEQ=Rad Alone 52 26 55.2 40.0 NA
SURG_RAD_SEQ=No Treatment 106 47 68.5 48.6 81.8
SURG_RAD_SEQ=Other 22 6 131.9 82.2 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURG_RAD_SEQ, data = data)
SURG_RAD_SEQ=Surg Alone
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1018 28 0.974 0.00477 0.965 0.984
24 911 27 0.948 0.00689 0.934 0.961
36 771 31 0.913 0.00902 0.896 0.931
48 649 28 0.878 0.01087 0.857 0.899
60 538 38 0.823 0.01333 0.797 0.850
120 112 77 0.624 0.02388 0.579 0.673
SURG_RAD_SEQ=Surg then Rad
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 23 0 1.000 0.000 1.000 1.000
24 14 6 0.710 0.100 0.538 0.936
36 11 0 0.710 0.100 0.538 0.936
48 10 1 0.645 0.110 0.462 0.901
60 10 0 0.645 0.110 0.462 0.901
120 4 1 0.581 0.116 0.392 0.860
SURG_RAD_SEQ=Rad Alone
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 43 8 0.846 0.0500 0.7536 0.950
24 31 6 0.722 0.0635 0.6077 0.858
36 23 3 0.646 0.0703 0.5221 0.800
48 16 2 0.585 0.0759 0.4533 0.754
60 10 3 0.452 0.0894 0.3072 0.666
120 1 4 0.211 0.1053 0.0795 0.561
SURG_RAD_SEQ=No Treatment
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 83 11 0.890 0.0313 0.831 0.954
24 59 13 0.737 0.0467 0.651 0.835
36 43 6 0.652 0.0527 0.557 0.764
48 34 2 0.618 0.0551 0.519 0.736
60 20 3 0.550 0.0619 0.441 0.686
120 3 10 0.216 0.0760 0.108 0.430
SURG_RAD_SEQ=Other
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 18 1 0.947 0.0512 0.852 1.000
24 18 0 0.947 0.0512 0.852 1.000
36 17 0 0.947 0.0512 0.852 1.000
48 15 1 0.888 0.0748 0.753 1.000
60 14 0 0.888 0.0748 0.753 1.000
120 5 3 0.680 0.1203 0.481 0.962
## Univariable Cox Proportional Hazard Model for: SURG_RAD_SEQ
X matrix deemed to be singular; variable 5 6
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURG_RAD_SEQ, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
SURG_RAD_SEQSurg then Rad 0.62458 1.86747 0.33984 1.838 0.0661 .
SURG_RAD_SEQRad Alone 1.41222 4.10505 0.20785 6.795 1.09e-11 ***
SURG_RAD_SEQNo Treatment 1.32660 3.76823 0.16096 8.242 2.22e-16 ***
SURG_RAD_SEQOther -0.02071 0.97951 0.41436 -0.050 0.9601
SURG_RAD_SEQRad before and after Surg NA NA 0.00000 NA NA
SURG_RAD_SEQRad then Surg NA NA 0.00000 NA NA
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
SURG_RAD_SEQSurg then Rad 1.8675 0.5355 0.9594 3.635
SURG_RAD_SEQRad Alone 4.1051 0.2436 2.7315 6.169
SURG_RAD_SEQNo Treatment 3.7682 0.2654 2.7487 5.166
SURG_RAD_SEQOther 0.9795 1.0209 0.4348 2.207
SURG_RAD_SEQRad before and after Surg NA NA NA NA
SURG_RAD_SEQRad then Surg NA NA NA NA
Concordance= 0.601 (se = 0.01 )
Rsquare= 0.057 (max possible= 0.956 )
Likelihood ratio test= 79.63 on 4 df, p=2.22e-16
Wald test = 101.9 on 4 df, p=0
Score (logrank) test = 117.7 on 4 df, p=0
Removed 3 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: SURG_RAD_SEQ



Surgery Yes/No
uni_var(test_var = "SURGERY_YN", data_imp = data)
_________________________________________________
## SURGERY_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURGERY_YN, data = data)
n events median 0.95LCL 0.95UCL
SURGERY_YN=No 157 72 63.2 53.8 76.1
SURGERY_YN=Ukn 8 3 70.2 40.4 NA
SURGERY_YN=Yes 1196 254 155.4 141.8 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURGERY_YN, data = data)
SURGERY_YN=No
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 125 19 0.874 0.0272 0.822 0.928
24 90 18 0.737 0.0375 0.667 0.814
36 66 9 0.654 0.0423 0.576 0.742
48 50 4 0.610 0.0448 0.528 0.704
60 30 6 0.519 0.0514 0.428 0.630
120 4 14 0.216 0.0622 0.122 0.379
SURGERY_YN=Ukn
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 6 0 1.000 0.000 1.000 1
24 5 1 0.833 0.152 0.583 1
36 5 0 0.833 0.152 0.583 1
48 3 1 0.625 0.213 0.320 1
60 3 0 0.625 0.213 0.320 1
SURGERY_YN=Yes
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1054 29 0.974 0.00470 0.965 0.984
24 938 33 0.943 0.00709 0.929 0.957
36 794 31 0.909 0.00903 0.892 0.927
48 671 29 0.874 0.01081 0.853 0.895
60 559 38 0.821 0.01310 0.796 0.847
120 121 80 0.628 0.02295 0.585 0.675
## Univariable Cox Proportional Hazard Model for: SURGERY_YN
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ SURGERY_YN, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
SURGERY_YNUkn -0.3123 0.7317 0.5896 -0.530 0.596
SURGERY_YNYes -1.3329 0.2637 0.1355 -9.836 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
SURGERY_YNUkn 0.7317 1.367 0.2304 2.3241
SURGERY_YNYes 0.2637 3.792 0.2022 0.3439
Concordance= 0.593 (se = 0.009 )
Rsquare= 0.055 (max possible= 0.956 )
Likelihood ratio test= 76.52 on 2 df, p=0
Wald test = 98.21 on 2 df, p=0
Score (logrank) test = 113.1 on 2 df, p=0
no non-missing arguments to min; returning Infno non-missing arguments to max; returning -InfTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisTransformation introduced infinite values in continuous y-axisRemoved 1 rows containing missing values (geom_errorbar).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).Removed 1 rows containing missing values (geom_text).
## Unadjusted Kaplan Meier Overall Survival Curve for: SURGERY_YN



Radiation Yes/No
uni_var(test_var = "RADIATION_YN", data_imp = data)
_________________________________________________
## RADIATION_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RADIATION_YN, data = data)
17 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
RADIATION_YN=No 1269 290 149.6 128.5 NA
RADIATION_YN=Yes 75 35 61.9 40.6 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RADIATION_YN, data = data)
17 observations deleted due to missingness
RADIATION_YN=No
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1105 39 0.968 0.00512 0.958 0.978
24 974 40 0.931 0.00751 0.916 0.946
36 818 37 0.893 0.00947 0.875 0.912
48 685 31 0.857 0.01109 0.835 0.879
60 560 41 0.802 0.01330 0.776 0.828
120 115 88 0.595 0.02306 0.551 0.642
RADIATION_YN=Yes
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 66 8 0.893 0.0356 0.826 0.966
24 45 12 0.718 0.0538 0.620 0.832
36 34 3 0.666 0.0578 0.561 0.789
48 26 3 0.604 0.0625 0.493 0.740
60 20 3 0.526 0.0687 0.407 0.680
120 5 5 0.367 0.0803 0.239 0.563
## Univariable Cox Proportional Hazard Model for: RADIATION_YN
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ RADIATION_YN, data = data)
n= 1344, number of events= 325
(17 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
RADIATION_YNYes 1.0035 2.7277 0.1793 5.595 2.2e-08 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
RADIATION_YNYes 2.728 0.3666 1.919 3.877
Concordance= 0.544 (se = 0.007 )
Rsquare= 0.018 (max possible= 0.955 )
Likelihood ratio test= 24.26 on 1 df, p=8.438e-07
Wald test = 31.31 on 1 df, p=2.205e-08
Score (logrank) test = 34.02 on 1 df, p=5.467e-09
## Unadjusted Kaplan Meier Overall Survival Curve for: RADIATION_YN



Chemo Yes/No
uni_var(test_var = "CHEMO_YN", data_imp = data)
_________________________________________________
## CHEMO_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ CHEMO_YN, data = data)
n events median 0.95LCL 0.95UCL
CHEMO_YN=No 1288 298 149.6 128.2 NA
CHEMO_YN=Yes 31 20 30.3 21.9 NA
CHEMO_YN=Ukn 42 11 NA 101.5 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ CHEMO_YN, data = data)
CHEMO_YN=No
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1120 44 0.964 0.00533 0.954 0.975
24 982 42 0.926 0.00770 0.911 0.941
36 824 34 0.891 0.00943 0.873 0.910
48 691 30 0.857 0.01099 0.835 0.879
60 566 43 0.800 0.01326 0.774 0.826
120 117 89 0.596 0.02278 0.553 0.642
CHEMO_YN=Yes
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 26 3 0.898 0.0560 0.7942 1.000
24 15 9 0.581 0.0927 0.4247 0.794
36 10 3 0.456 0.0968 0.3011 0.692
48 5 3 0.299 0.0981 0.1576 0.569
60 2 1 0.200 0.1045 0.0716 0.557
CHEMO_YN=Ukn
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 39 1 0.975 0.0247 0.928 1.000
24 36 1 0.950 0.0345 0.885 1.000
36 31 3 0.868 0.0553 0.766 0.983
48 28 1 0.839 0.0605 0.728 0.966
60 24 0 0.839 0.0605 0.728 0.966
120 8 5 0.618 0.0975 0.453 0.842
## Univariable Cox Proportional Hazard Model for: CHEMO_YN
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ CHEMO_YN, data = data)
n= 1361, number of events= 329
coef exp(coef) se(coef) z Pr(>|z|)
CHEMO_YNYes 1.8825 6.5701 0.2352 8.004 1.22e-15 ***
CHEMO_YNUkn -0.1856 0.8306 0.3079 -0.603 0.547
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
CHEMO_YNYes 6.5701 0.1522 4.1435 10.418
CHEMO_YNUkn 0.8306 1.2040 0.4543 1.519
Concordance= 0.535 (se = 0.007 )
Rsquare= 0.029 (max possible= 0.956 )
Likelihood ratio test= 40.52 on 2 df, p=1.586e-09
Wald test = 64.91 on 2 df, p=8.105e-15
Score (logrank) test = 86.45 on 2 df, p=0
Removed 1 rows containing missing values (geom_errorbar).
## Unadjusted Kaplan Meier Overall Survival Curve for: CHEMO_YN



Treatment Yes/No
uni_var(test_var = "Tx_YN", data_imp = data)
_________________________________________________
## Tx_YN
_________________________________________________
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ Tx_YN, data = data)
42 observations deleted due to missingness
n events median 0.95LCL 0.95UCL
Tx_YN=FALSE 95 40 72.8 55.7 106
Tx_YN=TRUE 1224 278 149.6 130.5 NA
Call: survfit(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ Tx_YN, data = data)
42 observations deleted due to missingness
Tx_YN=FALSE
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 74 10 0.889 0.0331 0.827 0.957
24 53 10 0.755 0.0483 0.666 0.856
36 38 5 0.674 0.0552 0.573 0.791
48 31 1 0.654 0.0571 0.551 0.776
60 19 3 0.577 0.0655 0.462 0.721
120 3 9 0.240 0.0835 0.122 0.475
Tx_YN=TRUE
time n.risk n.event survival std.err lower 95% CI upper 95% CI
12 1072 37 0.968 0.00517 0.958 0.978
24 944 41 0.930 0.00771 0.915 0.945
36 796 32 0.896 0.00949 0.877 0.914
48 665 32 0.857 0.01125 0.835 0.880
60 549 41 0.801 0.01352 0.775 0.828
120 114 81 0.606 0.02313 0.563 0.653
## Univariable Cox Proportional Hazard Model for: Tx_YN
Call:
coxph(formula = Surv(DX_LASTCONTACT_DEATH_MONTHS, PUF_VITAL_STATUS ==
0) ~ Tx_YN, data = data)
n= 1319, number of events= 318
(42 observations deleted due to missingness)
coef exp(coef) se(coef) z Pr(>|z|)
Tx_YNTRUE -1.1247 0.3247 0.1702 -6.607 3.91e-11 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
exp(coef) exp(-coef) lower .95 upper .95
Tx_YNTRUE 0.3247 3.079 0.2326 0.4533
Concordance= 0.547 (se = 0.007 )
Rsquare= 0.025 (max possible= 0.954 )
Likelihood ratio test= 33.28 on 1 df, p=7.997e-09
Wald test = 43.66 on 1 df, p=3.911e-11
Score (logrank) test = 48.42 on 1 df, p=3.433e-12
## Unadjusted Kaplan Meier Overall Survival Curve for: Tx_YN



LS0tCnRpdGxlOiAiRXh0cmFtYW1tYXJ5IFBhZ2V0IERpc2Vhc2UgLSBSZXZpZXcgb2YgdGhlIE5DREIiCmF1dGhvcjogIlJhbWllIEZhdGh5IgpkYXRlOiAiMTAvMjQvMjAxOSIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6CiAgICB0aGVtZTogdW5pdGVkCiAgICB0b2M6IHllcwogICAgdG9jX2Zsb2F0OiB5ZXMKICBodG1sX2RvY3VtZW50OgogICAgdG9jOiB5ZXMKLS0tCgoKCmBgYHtyLCBlY2hvPUZBTFNFLCB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFfQoKbGlicmFyeSgiZ2dwbG90MiIpCmxpYnJhcnkoImRwbHlyIikKbGlicmFyeSgidGlkeXIiKQpsaWJyYXJ5KCJrbml0ciIpCmxpYnJhcnkoInRhYmxlb25lIikKbGlicmFyeSgiZm9yY2F0cyIpCmxpYnJhcnkoInN1cnZpdmFsIikKbGlicmFyeSgibnBzdXJ2IikKbGlicmFyeSgiYnJvb20iKQpsaWJyYXJ5KCJ0aWJibGUiKQpsaWJyYXJ5KCJyZWFkciIpCmxpYnJhcnkoInN1cnZtaW5lciIpCmxpYnJhcnkoInN0cmluZ3IiKQoKCmtuaXRyOjpvcHRzX2NodW5rJHNldChlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9VFJVRSkKJyUhaW4lJyA8LSBmdW5jdGlvbih4LHkpISgnJWluJScoeCx5KSkKYGBgCgpgYGB7cn0KcF90YWJsZSA8LSBmdW5jdGlvbih0YWJfZGF0YSwgLi4uKSB7CiAgdGFiX2RhdGFfMiA8LSBkZXBhcnNlKHN1YnN0aXR1dGUodGFiX2RhdGEpKQogIAogIHRhYmxlX3AgPC0gZG8uY2FsbChDcmVhdGVUYWJsZU9uZSwgCiAgICAgICAgICAgICAgICAgICAgIGxpc3QoZGF0YSA9IGFzLm5hbWUodGFiX2RhdGFfMiksIGluY2x1ZGVOQSA9IFRSVUUsIC4uLikpCiAgdGFibGVfcF9vdXQgPC0gcHJpbnQodGFibGVfcCwKICAgICAgICAgICAgICAgICAgICAgICBzaG93QWxsTGV2ZWxzID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgICBwcmludFRvZ2dsZSA9IEZBTFNFKQogIGthYmxlKHRhYmxlX3Bfb3V0LAogICAgICAgIGFsaWduID0gImMiKQp9CmBgYAoKCgpgYGB7cn0KZl9wbG90IDwtIGZ1bmN0aW9uKHRlc3RfdmFyLCBkYXRhX2ltcCl7CgogICAgICAgICAgICAgICAgCiAgICAgICAgY2F0KCJfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIikKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIiAgIFxuIyMiLCB0ZXN0X3ZhcikKICAgICAgICBjYXQoIlxuIikKICAgICAgICBjYXQoIl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18iKQogICAgICAgIGNhdCgiXG4iKQoKICAgICAgICAKICAgICAgICBmIDwtIGFzLmZvcm11bGEocGFzdGUoYXMubmFtZSh0ZXN0X3ZhciksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBR0UgKyBTRVggKyBUX1NJWkUgKyBGQUNJTElUWV9UWVBFX0YgKyBGQUNJTElUWV9MT0NBVElPTl9GICsgWUVBUl9PRl9ESUFHTk9TSVMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXAgPSAiIH4gIiApKQogICAgICAgIAogICAgICAgIGRhdGFfaW1wXzIgPC0gZGVwYXJzZShzdWJzdGl0dXRlKGRhdGFfaW1wKSkKICAgICAgICAKICAgICAgICBmaXRfZm4gPC0gZG8uY2FsbCgiZ2xtIiwgCiAgICAgICAgICAgICAgICAgICAgICAgbGlzdChmb3JtdWxhID0gZiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gYXMubmFtZShkYXRhX2ltcF8yKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYW1pbHkgPSAiYmlub21pYWwiKSkKICAgICAgICAKICAgICAgICBwcmludChzdW1tYXJ5KGZpdF9mbikpCiAgICAgICAgCiAgICAgICAgb3IgPC0gYXMuZGF0YS5mcmFtZShleHAoY29lZmZpY2llbnRzKGZpdF9mbikpKQogICAgICAgIG9yJFZhcmlhYmxlIDwtIHJvd25hbWVzKG9yKQogICAgICAgIHJvd25hbWVzKG9yKSA8LSBjKCkKICAgICAgICBuYW1lcyhvcikgPC0gYygnT2Rkc1JhdGlvJywgJ1ZhcmlhYmxlJykKCiAgICAgICAgY2kgPC0gYXMuZGF0YS5mcmFtZShleHAoY29uZmludChmaXRfZm4pKSkKICAgICAgICBjaSRWYXJpYWJsZSA8LSByb3duYW1lcyhjaSkKICAgICAgICByb3duYW1lcyhjaSkgPC0gYygpCgogICAgICAgIHBfdmFsX2xpc3QgPC0gdGlkeShmaXRfZm4pICU+JQogICAgICAgIHNlbGVjdCh0ZXJtLCBwLnZhbHVlKSAlPiUKICAgICAgICByZW5hbWUoVmFyaWFibGUgPSB0ZXJtKSAlPiUKICAgICAgICBtdXRhdGUocC52YWx1ZSA9IHJvdW5kKHAudmFsdWUsIDQpKQogICAgICAgIHBfdmFsX2xpc3QkcC52YWx1ZSA8LSBhcy5jaGFyYWN0ZXIocF92YWxfbGlzdCRwLnZhbHVlKQogICAgICAgIHBfdmFsX2xpc3QkcC52YWx1ZVtwX3ZhbF9saXN0JHAudmFsdWUgPT0gIjAiXSA8LSAiPCAwLjAwMDEiCgogICAgICAgIGFsbCA8LSBmdWxsX2pvaW4ob3IsIGNpLCBieSA9ICdWYXJpYWJsZScpCiAgICAgICAgYWxsIDwtIGZ1bGxfam9pbihhbGwsIHBfdmFsX2xpc3QsIGJ5ID0gIlZhcmlhYmxlIikKICAgICAgICBuYW1lcyhhbGwpIDwtIGMoJ09kZHNSYXRpbycsICdWYXJpYWJsZScsICdMb3dlcicsICdVcHBlcicsICJwX3ZhbHVlIikKICAgICAgICBhbGwgPC0gbmEub21pdChhbGwpCgogICAgICAgIGFsbCA8LSBhbGwgJT4lCiAgICAgICAgZmlsdGVyKFZhcmlhYmxlICE9ICcoSW50ZXJjZXB0KScpIAoKCiAgICAgICAgdGV4dCA8LSBjYmluZChjKCJWYXJpYWJsZSIsIGFzLmNoYXJhY3RlcihhbGwkVmFyaWFibGUpKSwgCiAgICAgICAgICAgICAgYygiT2RkcyBSYXRpbyIsIGFzLmNoYXJhY3Rlcihyb3VuZChhbGwkT2Rkc1JhdGlvLCAyKSkpLAogICAgICAgICAgICAgIGMoIkxvd2VyIENJIiwgYXMuY2hhcmFjdGVyKHJvdW5kKGFsbCRMb3dlciwgMikpKSwKICAgICAgICAgICAgICBjKCJVcHBlciBDSSIsIGFzLmNoYXJhY3Rlcihyb3VuZChhbGwkVXBwZXIsIDIpKSksCiAgICAgICAgICAgICAgYygicCBWYWx1ZSIsIGFsbCRwX3ZhbHVlKSkKCgogICAgICAgIGZvcmVzdHBsb3QodGV4dCwgCiAgICAgICAgICAgbWVhbiA9IGMoTkEsIGFsbCRPZGRzUmF0aW8pLCAKICAgICAgICAgICBsb3dlciA9IGMoTkEsIGFsbCRMb3dlciksIAogICAgICAgICAgIHVwcGVyID0gYyhOQSwgYWxsJFVwcGVyKSwgCiAgICAgICAgICAgbmV3X3BhZ2UgPSAgIFRSVUUsIHplcm8gPSAxLCAKICAgICAgICAgICBjbGlwID0gYygwLjEsIDEwMCksCiAgICAgICAgICAgaHJ6bF9saW5lcyA9IGxpc3QoIjIiID0gZ3Bhcihjb2w9IiM0NDQ0NDQiKSksCiAgICAgICAgICAgdmVydGljZXMgPSBUUlVFLAogICAgICAgICAgIGdyYXBoLnBvcyA9IDIsCiAgICAgICAgICAgeGxhYiA9ICJPZGRzIFJhdGlvIChsb2cpIiwKICAgICAgICAgICBhbGlnbiA9ICJjIiwKICAgICAgICAgICB0eHRfZ3AgPSBmcFR4dEdwKGNleCA9IDAuNyksCiAgICAgICAgICAgeHRpY2tzID0gZ2V0VGlja3MobG93ID0gYWxsJExvd2VyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZ2ggPSBhbGwkVXBwZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpcD1jKC1JbmYsIEluZiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwPVRSVUUpLAogICAgICAgICAgIGJveHNpemUgPSAwLjEpCiAgICAKfQpgYGAKCmBgYHtyIGNodW5rMiwgY2FjaGU9VFJVRSwgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRSwgcmVzdWx0cz0naGlkZSd9CmNvbC53aWR0aCA8LSBjKDM3LCAxMCwgMSwgMSwgMywgMSwgMiwgMSwgMiwgMSwgMSwgMSwgMSwgMSwgMSwgOCwgMiwgMiwgMiwgNCwgNCwgMSwgNCwgMSwgMSwKICAgICAgICAgICAgICAgMSwgMywgMiwgMiwgOCwgMiwgNSwgNSwgNSwgNCwgNSwgNSwgNSw0LCAyLCAxLCAyLCAxLCAzLCAxLCAxLCAxLCAxLCAxLCAxLCAzLAogICAgICAgICAgICAgICAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCAzLCA2LCA4LAogICAgICAgICAgICAgICA4LCA4LCAyLCAxLCAxLCAxLCAxLCA4LCAxLCAxLCA4LCAxLCAxLCAyLCAyLCA1LCAyLCA1LCAzLCAxLCAzLCAxLCA4LCA4LCAyLCA4LAogICAgICAgICAgICAgICAyLCA4LCAyLCAyLCAxLCA4LCAxLCAxLCAxLCAxLCAxLCA4LCAxLCAyLCAyLCAyLCAyLCAyLCAxLCAxLCAxLCAyLCAxLCAzLCAxLCAxLAogICAgICAgICAgICAgICAxLCAxLCAxLCAxLCAxLCAxLCAxKQoKY29sLm5hbWVzLmFiciA8LSBjKCJQVUZfQ0FTRV9JRCIsICJQVUZfRkFDSUxJVFlfSUQiLCAiRkFDSUxJVFlfVFlQRV9DRCIsICJGQUNJTElUWV9MT0NBVElPTl9DRCIsCiAgICAgICAgICAgICAgICAgICAiQUdFIiwgIlNFWCIsICJSQUNFIiwgIlNQQU5JU0hfSElTUEFOSUNfT1JJR0lOIiwgIklOU1VSQU5DRV9TVEFUVVMiLAogICAgICAgICAgICAgICAgICAgIk1FRF9JTkNfUVVBUl8wMCIsICJOT19IU0RfUVVBUl8wMCIsICJVUl9DRF8wMyIsICJNRURfSU5DX1FVQVJfMTIiLCAiTk9fSFNEX1FVQVJfMTIiLAogICAgICAgICAgICAgICAgICAgIlVSX0NEXzEzIiwgIkNST1dGTFkiLCAiQ0RDQ19UT1RBTF9CRVNUIiwgIlNFUVVFTkNFX05VTUJFUiIsICJDTEFTU19PRl9DQVNFIiwKICAgICAgICAgICAgICAgICAgICJZRUFSX09GX0RJQUdOT1NJUyIsICJQUklNQVJZX1NJVEUiLCAiTEFURVJBTElUWSIsICJISVNUT0xPR1kiLCAiQkVIQVZJT1IiLCAiR1JBREUiLAogICAgICAgICAgICAgICAgICAgIkRJQUdOT1NUSUNfQ09ORklSTUFUSU9OIiwgIlRVTU9SX1NJWkUiLCAiUkVHSU9OQUxfTk9ERVNfUE9TSVRJVkUiLAogICAgICAgICAgICAgICAgICAgIlJFR0lPTkFMX05PREVTX0VYQU1JTkVEIiwgIkRYX1NUQUdJTkdfUFJPQ19EQVlTIiwgIlJYX1NVTU1fRFhTVEdfUFJPQyIsICJUTk1fQ0xJTl9UIiwKICAgICAgICAgICAgICAgICAgICJUTk1fQ0xJTl9OIiwgIlROTV9DTElOX00iLCAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCAiVE5NX1BBVEhfVCIsICJUTk1fUEFUSF9OIiwgIlROTV9QQVRIX00iLAogICAgICAgICAgICAgICAgICAgIlROTV9QQVRIX1NUQUdFX0dST1VQIiwgIlROTV9FRElUSU9OX05VTUJFUiIsICJBTkFMWVRJQ19TVEFHRV9HUk9VUCIsICJDU19NRVRTX0FUX0RYIiwKICAgICAgICAgICAgICAgICAgICJDU19NRVRTX0VWQUwiLCAiQ1NfRVhURU5TSU9OIiwgIkNTX1RVTU9SX1NJWkVFWFRfRVZBTCIsICJDU19NRVRTX0RYX0JPTkUiLCAiQ1NfTUVUU19EWF9CUkFJTiIsCiAgICAgICAgICAgICAgICAgICAiQ1NfTUVUU19EWF9MSVZFUiIsICJDU19NRVRTX0RYX0xVTkciLCAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT04iLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xIiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzIiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8zIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfNCIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl81IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfNiIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzciLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfOCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzkiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xMCIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xMSIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzEyIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTMiLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTQiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xNSIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzE2IiwKICAgICAgICAgICAgICAgICAgICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzE3IiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMTgiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8xOSIsCiAgICAgICAgICAgICAgICAgICAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8yMCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzIxIiwgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMjIiLAogICAgICAgICAgICAgICAgICAgIkNTX1NJVEVTUEVDSUZJQ19GQUNUT1JfMjMiLCAiQ1NfU0lURVNQRUNJRklDX0ZBQ1RPUl8yNCIsICJDU19TSVRFU1BFQ0lGSUNfRkFDVE9SXzI1IiwKICAgICAgICAgICAgICAgICAgICJDU19WRVJTSU9OX0xBVEVTVCIsICJEWF9SWF9TVEFSVEVEX0RBWVMiLCAiRFhfU1VSR19TVEFSVEVEX0RBWVMiLCAiRFhfREVGU1VSR19TVEFSVEVEX0RBWVMiLAogICAgICAgICAgICAgICAgICAgIlJYX1NVTU1fU1VSR19QUklNX1NJVEUiLCAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMCIsICJSWF9TVU1NX1NVUkdJQ0FMX01BUkdJTlMiLAogICAgICAgICAgICAgICAgICAgIlJYX1NVTU1fU0NPUEVfUkVHX0xOX1NVUiIsICJSWF9TVU1NX1NVUkdfT1RIX1JFR0RJUyIsICJTVVJHX0RJU0NIQVJHRV9EQVlTIiwgIlJFQURNX0hPU1BfMzBfREFZUyIsCiAgICAgICAgICAgICAgICAgICAiUkVBU09OX0ZPUl9OT19TVVJHRVJZIiwgIkRYX1JBRF9TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9SQURJQVRJT04iLCAiUkFEX0xPQ0FUSU9OX09GX1JYIiwKICAgICAgICAgICAgICAgICAgICJSQURfVFJFQVRfVk9MIiwgIlJBRF9SRUdJT05BTF9SWF9NT0RBTElUWSIsICJSQURfUkVHSU9OQUxfRE9TRV9DR1kiLCAiUkFEX0JPT1NUX1JYX01PREFMSVRZIiwKICAgICAgICAgICAgICAgICAgICJSQURfQk9PU1RfRE9TRV9DR1kiLCAiUkFEX05VTV9UUkVBVF9WT0wiLCAiUlhfU1VNTV9TVVJHUkFEX1NFUSIsICJSQURfRUxBUFNFRF9SWF9EQVlTIiwKICAgICAgICAgICAgICAgICAgICJSRUFTT05fRk9SX05PX1JBRElBVElPTiIsICJEWF9TWVNURU1JQ19TVEFSVEVEX0RBWVMiLCAiRFhfQ0hFTU9fU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fQ0hFTU8iLAogICAgICAgICAgICAgICAgICAgIkRYX0hPUk1PTkVfU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fSE9STU9ORSIsICJEWF9JTU1VTk9fU1RBUlRFRF9EQVlTIiwgIlJYX1NVTU1fSU1NVU5PVEhFUkFQWSIsCiAgICAgICAgICAgICAgICAgICAiUlhfU1VNTV9UUk5TUExOVF9FTkRPIiwgIlJYX1NVTU1fU1lTVEVNSUNfU1VSX1NFUSIsICJEWF9PVEhFUl9TVEFSVEVEX0RBWVMiLCAiUlhfU1VNTV9PVEhFUiIsCiAgICAgICAgICAgICAgICAgICAiUEFMTElBVElWRV9DQVJFIiwgIlJYX1NVTU1fVFJFQVRNRU5UX1NUQVRVUyIsICJQVUZfMzBfREFZX01PUlRfQ0QiLCAiUFVGXzkwX0RBWV9NT1JUX0NEIiwKICAgICAgICAgICAgICAgICAgICJEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMiLCAiUFVGX1ZJVEFMX1NUQVRVUyIsICJSWF9IT1NQX1NVUkdfUFJJTV9TSVRFIiwgIlJYX0hPU1BfQ0hFTU8iLAogICAgICAgICAgICAgICAgICAgIlJYX0hPU1BfSU1NVU5PVEhFUkFQWSIsICJSWF9IT1NQX0hPUk1PTkUiLCAiUlhfSE9TUF9PVEhFUiIsICJQVUZfTVVMVF9TT1VSQ0UiLCAiUkVGRVJFTkNFX0RBVEVfRkxBRyIsCiAgICAgICAgICAgICAgICAgICAiUlhfU1VNTV9TQ09QRV9SRUdfTE5fMjAxMiIsICJSWF9IT1NQX0RYU1RHX1BST0MiLCAiUEFMTElBVElWRV9DQVJFX0hPU1AiLCAiVFVNT1JfU0laRV9TVU1NQVJZIiwKICAgICAgICAgICAgICAgICAgICJNRVRTX0FUX0RYX09USEVSIiwgIk1FVFNfQVRfRFhfRElTVEFOVF9MTiIsICJNRVRTX0FUX0RYX0JPTkUiLCAiTUVUU19BVF9EWF9CUkFJTiIsCiAgICAgICAgICAgICAgICAgICAiTUVUU19BVF9EWF9MSVZFUiIsICJNRVRTX0FUX0RYX0xVTkciLCAiTk9fSFNEX1FVQVJfMTYiLCAiTUVEX0lOQ19RVUFSXzE2IiwgIk1FRElDQUlEX0VYUE5fQ09ERSIpCgoKCiNSZWFkIGluIGRhdGEgZm9yIGVhY2ggc3Vic2l0ZQpsaXAgPC0gcmVhZF9md2YoJ05DREJQVUZfTGlwLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCm1lbGFub21hIDwtIHJlYWRfZndmKCdOQ0RCUFVGX01lbGFub21hLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKICAgICAgICAgICAgICAgICAgICAgICAKc2tpbiA8LSByZWFkX2Z3ZignTkNEQlBVRl9PdFNraW4uMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKaG9kZ2V4dHIgPC0gcmVhZF9md2YoJ05DREJQVUZfSG9kZ0V4dHIuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKaG9kZ25kYWwgPC0gcmVhZF9md2YoJ05DREJQVUZfSG9kZ05kYWwuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKTkhMbmRhbCA8LSByZWFkX2Z3ZignTkNEQlBVRl9OSExOZGFsLjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCmJyZWFzdCA8LSAgcmVhZF9md2YoJ05DREJQVUZfQnJlYXN0LjMuMjAxNi4wLmRhdCcsIAogICAgICAgICAgICAgICAgICAgICAgIGZ3Zl93aWR0aHMoY29sLndpZHRoLCBjb2xfbmFtZXMgPSBjb2wubmFtZXMuYWJyKSwKICAgICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjb2xzKC5kZWZhdWx0ID0gY29sX2NoYXJhY3RlcigpKSkKCnZ1bHZhIDwtICByZWFkX2Z3ZignTkNEQlBVRl9WdWx2YS4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgp2YWdpbmEgPC0gIHJlYWRfZndmKCdOQ0RCUFVGX1ZhZ2luYS4zLjIwMTYuMC5kYXQnLCAKICAgICAgICAgICAgICAgICAgICAgICBmd2Zfd2lkdGhzKGNvbC53aWR0aCwgY29sX25hbWVzID0gY29sLm5hbWVzLmFiciksCiAgICAgICAgICAgICAgICAgICAgICAgY29sX3R5cGVzID0gY29scyguZGVmYXVsdCA9IGNvbF9jaGFyYWN0ZXIoKSkpCgpwZW5pcyA8LSAgcmVhZF9md2YoJ05DREJQVUZfUGVuaXMuMy4yMDE2LjAuZGF0JywgCiAgICAgICAgICAgICAgICAgICAgICAgZndmX3dpZHRocyhjb2wud2lkdGgsIGNvbF9uYW1lcyA9IGNvbC5uYW1lcy5hYnIpLAogICAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGNvbHMoLmRlZmF1bHQgPSBjb2xfY2hhcmFjdGVyKCkpKQoKI0NvbWJpbmUgZGF0YSBmb3IgYWxsIHN1YnNpdGVzCmRhdCA8LSBiaW5kX3Jvd3MobGlwLCBtZWxhbm9tYSwgc2tpbiwgaG9kZ2V4dHIsIGhvZGduZGFsLCBOSExuZGFsLCBicmVhc3QsIAogICAgICAgICAgICAgICAgIHZ1bHZhLCB2YWdpbmEsIHBlbmlzKQoKcm0obGlwLCBtZWxhbm9tYSwgc2tpbiwgaG9kZ2V4dHIsIGhvZGduZGFsLCBOSExuZGFsLCBicmVhc3QsIHZ1bHZhLCB2YWdpbmEsIHBlbmlzKQoKcHJpbV9zaXRlX3RleHQgPC0gZGF0YV9mcmFtZShQUklNQVJZX1NJVEUgPSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xpcAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYygiQzAwMCIsICJDMDAxIiwgIkMwMDIiLCAiQzAwMyIsICJDMDA0IiwgIkMwMDUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQzAwNiIsICJDMDA4IiwgIkMwMDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI3NraW4vbWVsYW5vbWEKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkM0NDAiLCAiQzQ0MSIsICJDNDQyIiwgIkM0NDMiLCAiQzQ0NCIsICJDNDQ1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkM0NDYiLCAiQzQ0NyIsICJDNDQ4IiwgIkM0NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2JyZWFzdCAtIG5pcHBsZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQzUwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjdmFnaW5hL3Z1bHZhCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDNTEwIiwgIkM1MTEiLCAiQzUxMiIsICJDNTE4IiwgIkM1MTkiLCAiQzUyOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjcGVuaXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkM2MDAiLCAiQzYwMSIsICJDNjAyIiwgIkM2MDgiLCAiQzYwOSIsICJDNjM5IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLCAgICAgICAgICAgICAgICAKU0lURV9URVhUID0gYygKICAjbGlwIAoiQzAwLjAgRXh0ZXJuYWwgTGlwOiBVcHBlciBOT1MiLAoiQzAwLjEgRXh0ZXJuYWwgTGlwOiBMb3dlciBOT1MiLAoiQzAwLjIgIEV4dGVybmFsIExpcDogTk9TIiwKIkMwMC4zIExpcDogVXBwZXIgTXVjb3NhIiwgCiJDMDAuNCBMaXA6IExvd2VyIE11Y29zYSIsIAoiQzAwLjUgTGlwOiBNdWNvc2EgTk9TIiwKIkMwMC42IExpcDogQ29tbWlzc3VyZSIsIAoiQzAwLjggTGlwOiBPdmVybGFwcGluZyIsIAoiQzAwLjkgTGlwLCBOT1MiLAoKCiAjc2tpbgoiQzQ0LjAgU2tpbiBvZiBsaXAsIE5PUyIsCiJDNDQuMSBFeWVsaWQiLAoiQzQ0LjIgRXh0ZXJuYWwgZWFyIiwKIkM0NC4zIFNraW4gb2YgZWFyIGFuZCB1bnNwZWNpZmllZCBwYXJ0cyBvZiBmYWNlIiwKIkM0NC40IFNraW4gb2Ygc2NhbHAgYW5kIG5lY2siLAoiQzQ0LjUgU2tpbiBvZiB0cnVuayIsCiJDNDQuNiBTa2luIG9mIHVwcGVyIGxpbWIgYW5kIHNob3VsZGVyIiwKIkM0NC43IFNraW4gb2YgbG93ZXIgbGltYiBhbmQgaGlwIiwKIkM0NC44IE92ZXJsYXBwaW5nIGxlc2lvbiBvZiBza2luIiwKIkM0NC45IFNraW4sIE5PUyIsIAoKI2JyZWFzdAoiQzUwLjAgTmlwcGxlIiwKCiN2dWx2YS92YWdpbmEKIkM1MS4wIExhYml1bSBtYWp1cyIsCiJDNTEuMSBMYWJpdW0gbWludXMiLAoiQzUxLjIgQ2xpdG9yaXMiLAoiQzUxLjggT3ZlcmxhcHBpbmcgbGVzaW9uIG9mIHZ1bHZhIiwKIkM1MS45IFZ1bHZhLCBOT1MiLAoiQzUyLjkgVmFnaW5hLCBOT1MiLAoKI3BlbmlzCiJDNjAuMCBQcmVwdWNlIiwKIkM2MC4xIEdsYW5zIHBlbmlzIiwKIkM2MC4yIEJvZHkgb2YgcGVuaXMiLAoiQzYwLjggT3ZlcmxhcHBpbmcgbGVzaW9uIG9mIHBlbmlzIiwKIkM2MC45IFBlbmlzIiwKIkM2My4yIFNjcm90dW0sIE5PUyIpKQoKCmRhdCA8LSBtZXJnZShkYXQsIHByaW1fc2l0ZV90ZXh0LCBieSA9ICJQUklNQVJZX1NJVEUiLCBhbGwueCA9IFRSVUUpIAogCnJtKHByaW1fc2l0ZV90ZXh0KQoKIyBjb252ZXJ0IG51bWVyaWMgdmFyaWFibGVzIGZyb20gY2hhcmFjdGVyIGNsYXNzIHRvIG51bWVyaWMgY2xhc3MKbnVtX3ZhcnMgPC0gYygiQUdFIiwgIkNST1dGTFkiLCAiVFVNT1JfU0laRSIsICJEWF9TVEFHSU5HX1BST0NfREFZUyIsICJEWF9SWF9TVEFSVEVEX0RBWVMiLCAiRFhfU1VSR19TVEFSVEVEX0RBWVMiLAogICAgICAgICAgICAgICJEWF9ERUZTVVJHX1NUQVJURURfREFZUyIsICJTVVJHX0RJU0NIQVJHRV9EQVlTIiwgIkRYX1JBRF9TVEFSVEVEX0RBWVMiLCAgIlJBRF9SRUdJT05BTF9ET1NFX0NHWSIsCiAgICAgICAgICAgICAgIlJBRF9CT09TVF9ET1NFX0NHWSIsICJSQURfRUxBUFNFRF9SWF9EQVlTIiwgIkRYX1NZU1RFTUlDX1NUQVJURURfREFZUyIsICJEWF9DSEVNT19TVEFSVEVEX0RBWVMiLCAKICAgICAgICAgICAgICAiRFhfSE9STU9ORV9TVEFSVEVEX0RBWVMiLCAiRFhfT1RIRVJfU1RBUlRFRF9EQVlTIiwgIkRYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUyIsCiAgICAgICAgICAgICAgIlJBRF9OVU1fVFJFQVRfVk9MIikKCmRhdFtudW1fdmFyc10gPC0gbGFwcGx5KGRhdFtudW1fdmFyc10sIGFzLm51bWVyaWMpCgoKIyBjb252ZXJ0IGZhY3RvciB2YXJpYWJsZXMgZnJvbSBjaGFyYWN0ZXIgY2xhc3MgdG8gZmFjdG9yIGNsYXNzCnZhcnMgPC0gbmFtZXMoZGF0KQpmYWN0X3ZhcnMgPC0gdmFyc1shKHZhcnMgJWluJSBudW1fdmFycyldICMgYmFzaWNhbGx5IGFsbCBvZiB0aGUgbm9uLW51bWVyaWNzCgpkYXRbZmFjdF92YXJzXSA8LSBsYXBwbHkoZGF0W2ZhY3RfdmFyc10sIGFzLmNoYXJhY3RlcikKZGF0W2ZhY3RfdmFyc10gPC0gbGFwcGx5KGRhdFtmYWN0X3ZhcnNdLCBhcy5mYWN0b3IpCgpkYXQgPC0gZGF0ICU+JQogICAgICAgIG11dGF0ZShGQUNJTElUWV9UWVBFX0YgPSBmY3RfcmVjb2RlKEZBQ0lMSVRZX1RZUEVfQ0QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbW11bml0eSBDYW5jZXIgUHJvZ3JhbSIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbXByZWhlbnNpdmUgQ29tbSBDYSBQcm9ncmFtIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQWNhZGVtaWMvUmVzZWFyY2ggUHJvZ3JhbSIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkludGVncmF0ZWQgTmV0d29yayBDYSBQcm9ncmFtIiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3RoZXIiID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKEZBQ0lMSVRZX0xPQ0FUSU9OX0YgPSBmY3RfcmVjb2RlKEZBQ0lMSVRZX0xPQ0FUSU9OX0NELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOZXcgRW5nbGFuZCIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1pZGRsZSBBdGxhbnRpYyIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNvdXRoIEF0bGFudGljIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRWFzdCBOb3J0aCBDZW50cmFsIiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRWFzdCBTb3V0aCBDZW50cmFsIiA9ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2VzdCBOb3J0aCBDZW50cmFsIiA9ICI2IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiV2VzdCBTb3V0aCBDZW50cmFsIiA9ICI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTW91bnRhaW4iID0gIjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJQYWNpZmljIiA9ICI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3V0IG9mIFVTIiA9ICIwIikpICU+JQogICAgICAgIG11dGF0ZShGQUNJTElUWV9HRU9HUkFQSFkgPSBmY3RfY29sbGFwc2UoRkFDSUxJVFlfTE9DQVRJT05fQ0QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9ydGhlYXN0IiA9IGMoIjEiLCAiMiIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlNvdXRoIiA9IGMoIjMiLCAiNyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1pZHdlc3QiID0gYygiNCIsICI1IiwgIjYiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJXZXN0IiA9IGMoIjgiLCAiOSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKEFHRV9GID0gY3V0KEFHRSwgYygwLCA1NCwgNjQsIDc0LCAxMDApKSkgJT4lCiAgICAgICAgbXV0YXRlKEFHRV80MCA9IGN1dChBR0UsIGMoMCwgNDAsIDEwMCkpKSAlPiUKICAgICAgICBtdXRhdGUoU0VYX0YgPSBmY3RfcmVjb2RlKFNFWCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWFsZSIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZlbWFsZSIgPSAiMiIpKSAlPiUKICAgICAgICBtdXRhdGUoUkFDRV9GID0gZmN0X2NvbGxhcHNlKFJBQ0UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIldoaXRlIiA9IGMoIjAxIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJsYWNrIiA9IGMoIjAyIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFzaWFuIiA9IGMoIjA0IiwgIjA1IiwgIjA2IiwgIjA3IiwgIjA4IiwgIjEwIiwgIjExIiwgIjEyIiwgIjEzIiwgIjE0IiwgIjE1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMTYiLCAiMTciLCAiMjAiLCAiMjEiLCAiMjIiLCAiMjUiLCAiMjYiLCAiMjciLCAiMjgiLCAiMzAiLCAiMzEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIzMiIsICI5NiIsICI5NyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPdGhlci9VbmsiID0gYygiMDMiLCAiOTgiLCAiOTkiKSkpICU+JQogICAgICAgIG11dGF0ZShISVNQQU5JQyA9IGZjdF9jb2xsYXBzZShTUEFOSVNIX0hJU1BBTklDX09SSUdJTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlllcyIgPSBjKCIxIiwgIjIiLCAiMyIsICI0IiwgIjUiLCAiNiIsICI3IiwgIjgiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIiA9IGMoIjAiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gYygiOSIpKSkgJT4lCiAgICAgICAgbXV0YXRlKElOU1VSQU5DRV9GID0gZmN0X3JlY29kZShJTlNVUkFOQ0VfU1RBVFVTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb25lIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUHJpdmF0ZSIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1lZGljYWlkIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWVkaWNhcmUiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJPdGhlciBHb3Zlcm5tZW50IiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoSU5TVVJBTkNFX0YgPSBmY3RfcmVsZXZlbChJTlNVUkFOQ0VfRiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUHJpdmF0ZSIpKSAlPiUKICAgICAgICBtdXRhdGUoSU5DT01FX0YgPSBmY3RfcmVjb2RlKE1FRF9JTkNfUVVBUl8xMiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTGVzcyB0aGFuICQzOCwwMDAiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIkMzgsMDAwIC0gJDQ3LDk5OSIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiQ0OCwwMDAgLSAkNjIsOTk5IiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJDYzLDAwMCArIiA9ICI0IikpICU+JQogICAgICAgIG11dGF0ZShFRFVDQVRJT05fRiA9IGZjdF9yZWNvZGUoTk9fSFNEX1FVQVJfMTIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMjElIG9yIG1vcmUiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEzIC0gMjAuOSUiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjcgLSAxMi45JSIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTGVzcyB0aGFuIDclIiA9ICI0IikpICU+JQogICAgICAgIG11dGF0ZShVX1JfRiA9IGZjdF9jb2xsYXBzZShVUl9DRF8xMywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1ldHJvIiA9IGMoIjEiLCAiMiIsICIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVcmJhbiIgPSBjKCI0IiwgIjUiLCAiNiIsICI3IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSdXJhbCIgPSBjKCI4IiwgIjkiKSkpICU+JQogICAgICAgIG11dGF0ZShDTEFTU19PRl9DQVNFX0YgPSBmY3RfY29sbGFwc2UoQ0xBU1NfT0ZfQ0FTRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsbF9QYXJ0X1ByaW0gPSBjKCIxMCIsICIxMSIsICIxMiIsICIxMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMTQiLCAiMjAiLCAiMjEiLCAiMjIiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE90aGVyX0ZhY2lsaXR5ID0gYygiMDAiKSkpICU+JQogICAgICAgIG11dGF0ZShHUkFERV9GID0gZmN0X3JlY29kZShHUkFERSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJHciBJOiBXZWxsIERpZmYiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdyIElJOiBNb2QgRGlmZiIgPSAiMiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR3IgSUlJOiBQb29yIERpZmYiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkdyIElWOiBVbmRpZmYvQW5hcGxhc3RpYyIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTkEvVW5rb3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShISVNUT0xPR1lfRiA9IGZjdF9pbmZyZXEoSElTVE9MT0dZKSkgJT4lCiAgICAgICAgbXV0YXRlKEhJU1RPTE9HWV9GID0gZmFjdG9yKEhJU1RPTE9HWV9GKSkgJT4lCiAgICAgICAgbXV0YXRlKEhJU1RPTE9HWV9GX0xJTSA9IGZjdF9sdW1wKEhJU1RPTE9HWV9GLCBwcm9wID0gMC4wNSkpICU+JQogICAgICAgIG11dGF0ZShUTk1fQ0xJTl9UID0gZmN0X3JlY29kZShUTk1fQ0xJTl9ULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX0NMSU5fVCA9IGZjdF9yZWxldmVsKFROTV9DTElOX1QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMSIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX0NMSU5fTiA9IGZjdF9yZWNvZGUoVE5NX0NMSU5fTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9DTElOX00gPSBmY3RfcmVjb2RlKFROTV9DTElOX00sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fUEFUSF9UID0gZmN0X3JlY29kZShUTk1fUEFUSF9ULAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTl9BIiA9ICI4OCIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX1BBVEhfVCA9IGZjdF9yZWxldmVsKFROTV9QQVRIX1QsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMSIpKSAlPiUKICAgICAgICBtdXRhdGUoVE5NX1BBVEhfTiA9IGZjdF9yZWNvZGUoVE5NX1BBVEhfTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiODgiKSkgJT4lCiAgICAgICAgbXV0YXRlKFROTV9QQVRIX00gPSBmY3RfcmVjb2RlKFROTV9QQVRIX00sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fQ0xJTl9TVEFHRV9HUk9VUCA9IGZjdF9yZWNvZGUoVE5NX0NMSU5fU1RBR0VfR1JPVVAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShUTk1fUEFUSF9TVEFHRV9HUk9VUCA9IGZjdF9yZWNvZGUoVE5NX1BBVEhfU1RBR0VfR1JPVVAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOX0EiID0gIjg4IikpICU+JQogICAgICAgIG11dGF0ZShNQVJHSU5TID0gZmN0X3JlY29kZShSWF9TVU1NX1NVUkdJQ0FMX01BUkdJTlMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBSZXNpZHVhbCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSZXNpZHVhbCwgTk9TIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1pY3Jvc2NvcGljIFJlc2lkIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk1hY3Jvc2NvcGljIFJlc2lkIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vdCBldmFsdWFibGUiID0gIjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gc3VyZyIgPSAiOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShNQVJHSU5TX1lOID0gZmN0X2NvbGxhcHNlKFJYX1NVTU1fU1VSR0lDQUxfTUFSR0lOUywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiWWVzIiA9IGMoIjEiLCAiMiIsICIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIiA9IGMoIjAiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gc3VyZy9VbmsvTkEiID0gYygiNyIsICI4IiwgIjkiKSkpICU+JQogICAgICAgIG11dGF0ZShSRUFETV9IT1NQXzMwX0RBWVNfRiA9IGZjdF9yZWNvZGUoUkVBRE1fSE9TUF8zMF9EQVlTLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vX1N1cmdfb3JfTm9fUmVhZG1pdCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5wbGFuX1JlYWRtaXRfU2FtZSIgPSAiMSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUGxhbl9SZWFkbWl0X1NhbWUiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBsYW5VbnBsYW5fU2FtZSIgPSAiMyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiNCIpKSAlPiUKICAgICAgICBtdXRhdGUoUlhfU1VNTV9SQURJQVRJT05fRiA9IGZjdF9yZWNvZGUoUlhfU1VNTV9SQURJQVRJT04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJOb25lIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJlYW0gUmFkaWF0aW9uIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZGlvYWN0aXZlIEltcGxhbnRzIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZGlvaXNvdG9wZXMiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQmVhbSArIEltcCBvciBJc290b3BlcyIgPSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWRpYXRpb24sIE5PUyIgPSAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShQVUZfMzBfREFZX01PUlRfQ0RfRiA9IGZjdF9yZWNvZGUoUFVGXzMwX0RBWV9NT1JUX0NELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFsaXZlXzMwIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEZWFkXzMwIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShQVUZfOTBfREFZX01PUlRfQ0RfRiA9IGZjdF9yZWNvZGUoUFVGXzkwX0RBWV9NT1JUX0NELAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkFsaXZlXzkwIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJEZWFkXzkwIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTl9GID0gZmN0X3JlY29kZShMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5lZ19MeW1waFZhc2NfSW52IiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlBvc19MdW1waFZhc2NfSW52IiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5fQSIgPSAiOCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShSWF9IT1NQX1NVUkdfQVBQUl8yMDEwX0YgPSBmY3RfcmVjb2RlKFJYX0hPU1BfU1VSR19BUFBSXzIwMTAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vX1N1cmciID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSb2JvdF9Bc3Npc3QiID0gIjEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSb2JvdF90b19PcGVuIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRW5kb19MYXAiID0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFbmRvX0xhcF90b19PcGVuIiA9ICI0IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiT3Blbl9Vbmtub3duIiA9ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVW5rbm93biIgPSAiOSIpKSAlPiUKICAgICAgICBtdXRhdGUoQWxsID0gIkFsbCIpICU+JQogICAgICAgIG11dGF0ZShBbGwgPSBmYWN0b3IoQWxsKSkgJT4lCiAgICAgICAgbXV0YXRlKFJFQVNPTl9GT1JfTk9fU1VSR0VSWV9GID0gZmN0X3JlY29kZShSRUFTT05fRk9SX05PX1NVUkdFUlksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyBwZXJmb3JtZWQiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgbm90IHJlY29tbWVuZGVkIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBzdXJnIGR1ZSB0byBwdCBmYWN0b3JzIiA9ICIyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBzdXJnLCBwdCBkaWVkIiA9ICI1IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHJlYywgbm90IGRvbmUiID0gIjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgcmVjLCBwdCByZWZ1c2VkIiA9ICI3IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHJlYywgdW5rIGlmIGRvbmUiID0gIjgiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVua25vd24iID0gIjkiKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdFUllfWU4gPSBpZmVsc2UoUkVBU09OX0ZPUl9OT19TVVJHRVJZID09ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUkVBU09OX0ZPUl9OT19TVVJHRVJZID09ICI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlVrbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyIpKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdfVEYgPSBjYXNlX3doZW4oU1VSR0VSWV9ZTiA9PSAiWWVzIiB+IFRSVUUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1VSR0VSWV9ZTiA9PSAiTm8iIH4gRkFMU0UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSB+IE5BKSkgICU+JQogICAgICAgIG11dGF0ZShSRUFTT05fRk9SX05PX1JBRElBVElPTl9GID0gZmN0X3JlY29kZShSRUFTT05fRk9SX05PX1JBRElBVElPTiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgcGVyZm9ybWVkIiA9ICIwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgbm90IHJlY29tbWVuZGVkIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBSYWQgZHVlIHRvIHB0IGZhY3RvcnMiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vIFJhZCwgcHQgZGllZCIgPSAiNSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHJlYywgbm90IGRvbmUiID0gIjYiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCByZWMsIHB0IHJlZnVzZWQiID0gIjciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCByZWMsIHVuayBpZiBkb25lIiA9ICI4IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShSQURJQVRJT05fWU4gPSBpZmVsc2UoUkVBU09OX0ZPUl9OT19SQURJQVRJT04gPT0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSRUFTT05fRk9SX05PX1JBRElBVElPTiA9PSAiOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5BLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8iKSkpICU+JQogICAgICAgIG11dGF0ZShTVVJHUkFEX1NFUV9GID0gZmN0X3JlY29kZShSWF9TVU1NX1NVUkdSQURfU0VRLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm9uZSBvciBTdXJnIG9yIFJhZCIgPSAiMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgYmVmb3JlIFN1cmciID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyBiZWZvcmUgUmFkIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBiZWZvcmUgYW5kIGFmdGVyIFN1cmciID0gIjQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW50cmFvcCBSYWQiID0gIjUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiSW50cmFvcCBSYWQgcGx1cyBvdGhlciIgPSAiNiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVbmtub3duIiA9ICI5IikpICU+JQogICAgICAgIG11dGF0ZShTVVJHX1JBRF9TRVEgPSBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiWWVzIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgQWxvbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJBRElBVElPTl9ZTiA9PSAiWWVzIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgQWxvbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShTVVJHRVJZX1lOID09ICJObyIgJiBSQURJQVRJT05fWU4gPT0gIk5vIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gVHJlYXRtZW50IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCB0aGVuIFN1cmciLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHRoZW4gUmFkIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiNCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgYmVmb3JlIGFuZCBhZnRlciBTdXJnIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk90aGVyIikpKSkpKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdfUkFEX1NFUSA9IGZjdF9yZWxldmVsKFNVUkdfUkFEX1NFUSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcgQWxvbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyB0aGVuIFJhZCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgQWxvbmUiKSkgJT4lCiAgICAgICAgbXV0YXRlKENIRU1PX1lOID0gZmN0X2NvbGxhcHNlKFJYX1NVTU1fQ0hFTU8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyIgPSBjKCIwMCIsICI4MiIsICI4NSIsICI4NiIsICI4NyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiWWVzIiA9IGMoIjAxIiwgIjAyIiwgIjAzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJVa24iID0gYygiODgiLCAiOTkiKSkpICU+JQogICAgICAgIG11dGF0ZShTVVJHX1JBRF9TRVFfQyA9IGlmZWxzZShTVVJHRVJZX1lOID09ICJZZXMiICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIgJiBDSEVNT19ZTiA9PSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlN1cmcsIE5vIHJhZCwgTm8gQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJBRElBVElPTl9ZTiA9PSAiWWVzIiAmIFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjAiICYgQ0hFTU9fWU4gPT0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkLCBObyBTdXJnLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFNVUkdFUllfWU4gPT0gIk5vIiAmIFJBRElBVElPTl9ZTiA9PSAiTm8iICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIgJiBDSEVNT19ZTiA9PSAiTm8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTm8gU3VyZywgTm8gUmFkLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICIyIiAmIENIRU1PX1lOID09ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiUmFkIHRoZW4gU3VyZywgTm8gQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjMiICYgQ0hFTU9fWU4gPT0gIk5vIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZyB0aGVuIFJhZCwgTm8gQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShSWF9TVU1NX1NVUkdSQURfU0VRID09ICI0IiAmIENIRU1PX1lOID09ICJObyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgYmVmb3JlIGFuZCBhZnRlciBTdXJnLCBObyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFNVUkdFUllfWU4gPT0gIlllcyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VyZywgTm8gcmFkLCBZZXMgQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUkFESUFUSU9OX1lOID09ICJZZXMiICYgUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMCIgJiBDSEVNT19ZTiA9PSAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQsIE5vIFN1cmcsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoU1VSR0VSWV9ZTiA9PSAiTm8iICYgUkFESUFUSU9OX1lOID09ICJObyIgJiBSWF9TVU1NX1NVUkdSQURfU0VRID09ICIwIiAmIENIRU1PX1lOID09ICJZZXMiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBTdXJnLCBObyBSYWQsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjIiICYgQ0hFTU9fWU4gPT0gIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSYWQgdGhlbiBTdXJnLCBZZXMgQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoUlhfU1VNTV9TVVJHUkFEX1NFUSA9PSAiMyIgJiBDSEVNT19ZTiA9PSAiWWVzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJTdXJnIHRoZW4gUmFkLCBZZXMgQ2hlbW8iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFJYX1NVTU1fU1VSR1JBRF9TRVEgPT0gIjQiICYgQ0hFTU9fWU4gPT0gIlllcyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlJhZCBiZWZvcmUgYW5kIGFmdGVyIFN1cmcsIFllcyBDaGVtbyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk90aGVyIikpKSkpKSkpKSkpKSkgJT4lCiAgICAgICAgbXV0YXRlKFNVUkdfUkFEX1NFUV9DID0gZmN0X2luZnJlcShTVVJHX1JBRF9TRVFfQykpICU+JQogICAgICAgIG11dGF0ZShUX1NJWkUgPSBhcy5udW1lcmljKFRVTU9SX1NJWkUpKSAlPiUKICAgICAgICBtdXRhdGUoVF9TSVpFID0gaWZlbHNlKFRfU0laRSA9PSAwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBUdW1vciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKFRfU0laRSA+IDAgJiBUX1NJWkUgPCAxMCB8IFRfU0laRSA9PSA5OTEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI8IDEgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID49IDEwICYgVF9TSVpFIDwgMjAgfCBUX1NJWkUgPT0gOTkyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjEtMiBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID49IDIwICYgVF9TSVpFIDwgMzAgfCBUX1NJWkUgPT0gOTkzLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIyLTMgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gMzAgJiBUX1NJWkUgPCA0MCB8IFRfU0laRSA9PSA5OTQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIzLTQgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID49IDQwICYgVF9TSVpFIDwgNTAgfCBUX1NJWkUgPT0gOTk1LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjQtNSBjbSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZmVsc2UoVF9TSVpFID49IDUwICYgVF9TSVpFIDwgNjAgfCBUX1NJWkUgPT0gOTk2LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICI1LTYgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPj0gNjAgJiBUX1NJWkUgPD0gOTg3IHwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUX1NJWkUgPT0gOTgwIHwgVF9TSVpFID09IDk4OSB8CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVF9TSVpFID09IDk5NywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiPjYgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmZWxzZShUX1NJWkUgPT0gOTg4IHwgVF9TSVpFID09IDk5OSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5BX3VuayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJNaWNyb3Njb3BpYyBmb2N1cyIpKSkpKSkpKSkpICU+JQogICAgICAgIG11dGF0ZShUX1NJWkUgPSBmYWN0b3IoVF9TSVpFKSkgJT4lCiAgICAgICAgbXV0YXRlKFRfU0laRSA9IGZjdF9yZWxldmVsKFRfU0laRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJObyBUdW1vciIsICJNaWNyb3Njb3BpYyBmb2N1cyIsICI8IDEgY20iLCAiMS0yIGNtIiwgIjItMyBjbSIsICIzLTQgY20iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiNC01IGNtIiwgIjUtNiBjbSIsICI+NiBjbSIsICJOQV91bmsiKSkgJT4lCiAgICAgICAgbXV0YXRlKG1ldHNfYXRfZHggPSBjYXNlX3doZW4oQ1NfTUVUU19EWF9MVU5HID09ICIxIiB+ICJMdW5nIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDU19NRVRTX0RYX0JPTkUgPT0gIjEiIH4gIkJvbmUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENTX01FVFNfRFhfQlJBSU4gPT0gIjEiIH4gIkJyYWluIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDU19NRVRTX0RYX0xJVkVSID09ICIxIiB+ICJMaXZlciIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSB+ICJOb25lL090aGVyL1Vuay9OQSIpKSAlPiUKICAgICAgICBtdXRhdGUoTUVESUNBSURfRVhQTl9DT0RFID0gZmN0X3JlY29kZShNRURJQ0FJRF9FWFBOX0NPREUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk5vbi1FeHBhbnNpb24gU3RhdGUiID0gIjAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJKYW4gMjAxNCBFeHBhbnNpb24gU3RhdGVzIiA9ICIxIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRWFybHkgRXhwYW5zaW9uIFN0YXRlcyAoMjAxMC0xMykiID0gIjIiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMYXRlIEV4cGFuc2lvbiBTdGF0ZXMgKD4gSmFuIDIwMTQpIiA9ICIzIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiU3VwcHJlc3NlZCBmb3IgQWdlcyAwIC0gMzkiID0gIjkiKSkgICU+JQogICAgICAgIG11dGF0ZShFWFBOX0dST1VQID0gIGNhc2Vfd2hlbihNRURJQ0FJRF9FWFBOX0NPREUgICVpbiUgYygiSmFuIDIwMTQgRXhwYW5zaW9uIFN0YXRlcyIpICYgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWUVBUl9PRl9ESUFHTk9TSVMgJWluJSBjKCIyMDE0IiwgIjIwMTUiKSB+ICJQb3N0LUV4cGFuc2lvbiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgICVpbiUgYygiSmFuIDIwMTQgRXhwYW5zaW9uIFN0YXRlcyIpICYgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWUVBUl9PRl9ESUFHTk9TSVMgJWluJSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYygiMjAwNCIsICIyMDA1IiwgIjIwMDYiLCAiMjAwNyIsICIyMDA4IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjIwMDkiLCAiMjAxMCIsICIyMDExIiwgIjIwMTIiLCAiMjAxMyIpIH4gIlByZS1FeHBhbnNpb24iLAogICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUNBSURfRVhQTl9DT0RFICAlaW4lIGMoIkVhcmx5IEV4cGFuc2lvbiBTdGF0ZXMgKDIwMTAtMTMpIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBZRUFSX09GX0RJQUdOT1NJUyAlaW4lIGMoIjIwMTAiLCAiMjAxMSIsICIyMDEyIiwgIjIwMTMiLCAiMjAxNCIsICIyMDE1IikgfiAiUG9zdC1FeHBhbnNpb24iLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FRElDQUlEX0VYUE5fQ09ERSAgJWluJSBjKCJFYXJseSBFeHBhbnNpb24gU3RhdGVzICgyMDEwLTEzKSIpICYgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWUVBUl9PRl9ESUFHTk9TSVMgJWluJSBjKCIyMDA0IiwgIjIwMDUiLCAiMjAwNiIsICIyMDA3IiwgIjIwMDgiLCAiMjAwOSIpIH4gIlByZS1FeHBhbnNpb24iLAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUNBSURfRVhQTl9DT0RFICVpbiUgYygiTm9uLUV4cGFuc2lvbiBTdGF0ZSIpIH4gIlByZS1FeHBhbnNpb24iLAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVESUNBSURfRVhQTl9DT0RFICVpbiUgYygiTGF0ZSBFeHBhbnNpb24gU3RhdGVzICg+IEphbiAyMDE0KSIpIH4gIlByZS1FeHBhbnNpb24iLAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgJWluJSBjKCJMYXRlIEV4cGFuc2lvbiBTdGF0ZXMgKD4gSmFuIDIwMTQpIikgJiAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFlFQVJfT0ZfRElBR05PU0lTICVpbiUgYygiMjAxNCIsICIyMDE1IikgfiAiRXhjbHVkZSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRURJQ0FJRF9FWFBOX0NPREUgPT0gIlN1cHByZXNzZWQgZm9yIEFnZXMgMCAtIDM5IiB+ICJFeGNsdWRlIikpICU+JQogIAogIG11dGF0ZShwcmVfMjAxNCA9IFlFQVJfT0ZfRElBR05PU0lTICVpbiUgYygiMjAwNCIsICIyMDA1IiwgIjIwMDYiLCAiMjAwNyIsICIyMDA4IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjIwMDkiLCAiMjAxMCIsICIyMDExIiwgIjIwMTIiLCAiMjAxMyIpKSAlPiUKICAKICBtdXRhdGUobWV0c19hdF9keF9GID0gaWZlbHNlKG1ldHNfYXRfZHggPT0gIk5vbmUvT3RoZXIvVW5rL05BIiwgRkFMU0UsIFRSVUUpKSAlPiUgCiAgCiAgbXV0YXRlKFR4X1lOID0gaWZlbHNlKFNVUkdfUkFEX1NFUSA9PSAiTm8gVHJlYXRtZW50IiAmIENIRU1PX1lOID09ICJObyIsIEZBTFNFLCAKICAgICAgICAgICAgICAgICAgICAgICAgaWZlbHNlKENIRU1PX1lOID09ICJVa24iLCBOQSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFKSkpCgpmYWN0X3ZhcnNfMiA8LSBjKCJGQUNJTElUWV9UWVBFX0YiLCAiRkFDSUxJVFlfTE9DQVRJT05fRiIsICJBR0VfRiIsICJTRVhfRiIsICJSQUNFX0YiLAogICAgICAgICAgICAgICAgICJISVNQQU5JQyIsICJJTlNVUkFOQ0VfRiIsICJJTkNPTUVfRiIsICJFRFVDQVRJT05fRiIsICJVX1JfRiIsCiAgICAgICAgICAgICAgICAgIkNEQ0NfVE9UQUxfQkVTVCIsICJDTEFTU19PRl9DQVNFX0YiLCAiWUVBUl9PRl9ESUFHTk9TSVMiLCAiUFJJTUFSWV9TSVRFIiwgIkhJU1RPTE9HWSIsCiAgICAgICAgICAgICAgICAgIkJFSEFWSU9SIiwgIkdSQURFX0YiLCAiVE5NX0NMSU5fVCIsICJUTk1fQ0xJTl9OIiwgIlROTV9DTElOX00iLAogICAgICAgICAgICAgICAgICJUTk1fQ0xJTl9TVEFHRV9HUk9VUCIsICJUTk1fUEFUSF9UIiwgIlROTV9QQVRIX04iLCAiVE5NX1BBVEhfTSIsICJUTk1fUEFUSF9TVEFHRV9HUk9VUCIsCiAgICAgICAgICAgICAgICAgIk1BUkdJTlMiLCAiUkVBRE1fSE9TUF8zMF9EQVlTX0YiLCAiUlhfU1VNTV9SQURJQVRJT05fRiIsICJQVUZfMzBfREFZX01PUlRfQ0RfRiIsCiAgICAgICAgICAgICAgICAgIlBVRl85MF9EQVlfTU9SVF9DRF9GIiwgIkxZTVBIX1ZBU0NVTEFSX0lOVkFTSU9OX0YiLCAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMF9GIiwgIm1ldHNfYXRfZHgiKQoKCmRhdCA8LSBkYXQgJT4lCiAgICAgICAgbXV0YXRlX2F0KGZhY3RfdmFyc18yLCBmdW5zKGZhY3RvciguKSkpCgpgYGAKCgojIEV4dHJhY3QgZGF0YSBvZiBpbnRlcmVzdCAKCmBgYHtyfQojIEVNUEQKc2l0ZV9jb2RlIDwtIGMoCiAgI2xpcCAgCiAgIkMwMDAiLCAiQzAwMSIsICJDMDAyIiwgIkMwMDMiLCAiQzAwNCIsICJDMDA1IiwiQzAwNiIsICJDMDA4IiwiQzAwOSIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiNza2luL21lbGFub21hCiAgIkM0NDAiLCAiQzQ0MSIsICJDNDQyIiwgIkM0NDMiLCAiQzQ0NCIsICJDNDQ1IiwgIkM0NDYiLCAiQzQ0NyIsICJDNDQ4IiwgIkM0NDkiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICNicmVhc3QgLSBuaXBwbGUKICAiQzUwMCIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAojdmFnaW5hL3Z1bHZhCiAgIkM1MTAiLCAiQzUxMSIsICJDNTEyIiwgIkM1MTgiLCAiQzUxOSIsICJDNTI5IiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiNwZW5pcwogIkM2MDAiLCAiQzYwMSIsICJDNjAyIiwgIkM2MDgiLCAiQzYwOSIsICJDNjM5IikKCmhpc3RvX2NvZGUgPC0gYygiODU0MiIpCmJlaGF2aW9yX2NvZGUgPC0gYygiMyIpCgpkYXRhIDwtIGRhdCAlPiUKICAgICAgICBmaWx0ZXIoQkVIQVZJT1IgJWluJSBiZWhhdmlvcl9jb2RlKSAlPiUKICAgICAgICBmaWx0ZXIoUFJJTUFSWV9TSVRFICVpbiUgc2l0ZV9jb2RlKSAlPiUKICAgICAgICBmaWx0ZXIoSElTVE9MT0dZICVpbiUgaGlzdG9fY29kZSkgJT4lCiMgICAgICAgIGZpbHRlcihBR0UgPj0gMTgpICU+JQogICAgICAgIGZpbHRlcihpcy5uYShQVUZfVklUQUxfU1RBVFVTKSA9PSBGQUxTRSkgJT4lCiAgICAgICAgZmlsdGVyKGlzLm5hKERYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUykgPT0gRkFMU0UpICU+JQogICAgICAgIGZpbHRlcihTRVFVRU5DRV9OVU1CRVIgPT0gIjAwIikgCiMlPiUKIyAgICAgICAgZmlsdGVyKENMQVNTX09GX0NBU0UgJWluJSBjKCIxMCIsICIxMiIsICIxNCIsICIyMiIpKSAlPiUKIyAgICAgICAgZmlsdGVyKElOU1VSQU5DRV9TVEFUVVMgJWluJSBjKCIwIiwgIjEiLCAiMiIsICIzIiwgIjQiKSkKCmZpbGVfcGF0aCA8LSBjKCIvVXNlcnMvYmVhc3RhdGxpZmUvR29vZ2xlIERyaXZlL1Blbm4vUmVzZWFyY2gvQmFyYmllcmkvTkNEQiIpCnNhdmUoZGF0YSwKICAgICAgZmlsZSA9IHBhc3RlMChmaWxlX3BhdGgsICIvRU1QRF9kYXRhLlJkYSIpKQpgYGAKCmBgYHtyIGxvYWREYXRhfQpsb2FkKCJFTVBEX2RhdGEuUmRhIikKYGBgCgoKCgpEYXRhIGluY2x1ZGluZyBza2luIHR1bW9ycyB3YXMgb2J0YWluZWQgZnJvbSB0aGUgTkNCRCBvbiBPY3RvYmVyIDcsIDIwMTkuIENhc2VzIHRoYXQgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIGFuYWx5c2lzIHdlcmUgdGhvc2Ugd2l0aDoKCjEuIFNpdGUgY29kZXM6IGByIHNpdGVfY29kZWAKMi4gSGlzdG9sb2d5IGNvZGVzOiBgciBoaXN0b19jb2RlYAozLiBCZWhhdmlvciBjb2RlczogYHIgYmVoYXZpb3JfY29kZWAKCgpQYXRpZW50cyB3ZXJlIGV4Y2x1ZGVkIGlmIHRoZXkgZGlkbid0IGhhdmUgdmFsdWVzIGZvciBlaXRoZXIgZm9sbG93IHVwIG9yIHZpdGFsIHN0YXR1cy4KClBhdGllbnRzIHdlcmUgZXhjbHVkZWQgaWYgdGhleSBoYWQgc3VyZ2VyeSB0byBhIGRpc3RhbnQgc2l0ZSB1c2luZyBgUlhfU1VNTV9TVVJHX09USF9SRUdESVNgLiBUaGlzIHdhcyBkb25lIHRvIGF2b2lkIGNvbmZvdW5kaW5nIG9mIGRpZmZlcmVudCBzdXJnaWNhbCBwcm9jZWR1cmVzLiBXZSBhcmUgb25seSBpbnRlcmVzdGVkIGluIHN1cmdlcnkgYXQgdGhlIHByaW1hcnkgc2l0ZS4gVGhlc2UgZGlzdGFudCBzaXRlIHN1cmdlcmllcyB3ZXJlIGJlaW5nIGNvdW50ZWQgaW4gdGhlIHN1cmdlcnkvcmFkaWF0aW9uIHNlcXVlbmNlIGFuZCB0aHVzIHRvIHNpbXBsaWZ5IGFuYWx5c2lzIHRoZXkgd2VyZSByZW1vdmVkLiAKCmBgYHtyfQoKZGF0YSAlPiUKICAgICAgICBDcmVhdGVUYWJsZU9uZShkYXRhID0gLiwKICAgICAgICAgICAgICAgICAgICAgdmFycyA9IGMoIlJYX1NVTU1fU1VSR19PVEhfUkVHRElTIiksCiAgICAgICAgICAgICAgICAgICAgIGluY2x1ZGVOQSA9IFRSVUUpICU+JQogICAgICAgIHByaW50KC4sCiAgICAgICAgICAgICAgc2hvd0FsbExldmVscyA9IFRSVUUpCgpkYXRhIDwtIGRhdGEgJT4lCiAgICAgICAgZmlsdGVyKFJYX1NVTU1fU1VSR19PVEhfUkVHRElTID09ICIwIikgCmBgYAoKClJhY2Ugd2FzIGdyb3VwZWQgYXMgd2hpdGUsIGJsYWNrLCBhc2lhbiwgb3RoZXIvdW5rbm93bgpTdGFnZSB3YXMgZ3JvdXBlZCBpbnRvIDAsIEksIElJLCBJSUksIElWLCBOQV9Vbmtub3duLCBzdGFnZSAwIHdhcyByZW1vdmVkCldoZXRoZXIgc3VyZ2VyeSB3YXMgcGVyZm9ybWVkIHdhcyBiYXNlZCBvbiB0aGUgYFJFQVNPTl9GT1JfTk9fU1VSR0VSWWAgdmFyaWFibGUuIFRoZSBgU1VSR0VSWV9ZTmAgdmFyaWFibGUgd2FzIGNsYXNzaWZpZWQgYXMgJ1llcycsICdObycsIG9yICdVbmtub3duJy4KCgpXaGV0aGVyIHJhZGlhdGlvbiB3YXMgcGVyZm9ybWVkIHdhcyBiYXNlZCBvbiB0aGUgYFJFQVNPTl9GT1JfTk9fUkFESUFUSU9OYCB2YXJpYWJsZS4gVGhlIGBSQURJQVRJT05fWU5gIHZhcmlhYmxlIHdhcyBjbGFzc2lmaWVkIGFzICdZZXMnLCAnTm8nLCBvciAnVW5rbm93bicuCgoKCiMjVGFibGUgb2YgdmFyaWFibGVzIGZvciBhbGwgY2FzZXM6CgojVGFibGUgb2YgdmFyaWFibGVzIGZvciBhbGwgY2FzZXM6CgpgYGB7cn0KCnBfdGFibGUoZGF0YSwKICAgICAgICB2YXJzID0gYygiRkFDSUxJVFlfVFlQRV9GIiwgIkZBQ0lMSVRZX0xPQ0FUSU9OX0YiLCAiRkFDSUxJVFlfR0VPR1JBUEhZIiwgICJBR0UiLCAiQUdFX0YiLCAiQUdFXzQwIiwKICAgICAgICAgICAgICAgICAiU0VYX0YiLCAiUkFDRV9GIiwgIkhJU1BBTklDIiwgIklOU1VSQU5DRV9GIiwgCiAgICAgICAgICAgICAgICAgIklOQ09NRV9GIiwgIkVEVUNBVElPTl9GIiwgIlVfUl9GIiwgIkNST1dGTFkiLCAiQ0RDQ19UT1RBTF9CRVNUIiwKICAgICAgICAgICAgICAgICAiU0lURV9URVhUIiwgIkhJU1RPTE9HWV9GX0xJTSIsICJISVNUT0xPR1lfRiIsICJCRUhBVklPUiIsICJHUkFERV9GIiwKICAgICAgICAgICAgICAgICAiRFhfU1RBR0lOR19QUk9DX0RBWVMiLCAiVE5NX0NMSU5fVCIsICJUTk1fQ0xJTl9OIiwgIlROTV9DTElOX00iLAogICAgICAgICAgICAgICAgICJUTk1fQ0xJTl9TVEFHRV9HUk9VUCIsICJUTk1fUEFUSF9UIiwgIlROTV9QQVRIX04iLCAiVE5NX1BBVEhfTSIsCiAgICAgICAgICAgICAgICAgIlROTV9QQVRIX1NUQUdFX0dST1VQIiwgIkRYX1JYX1NUQVJURURfREFZUyIsICJEWF9TVVJHX1NUQVJURURfREFZUyIsCiAgICAgICAgICAgICAgICAgIkRYX0RFRlNVUkdfU1RBUlRFRF9EQVlTIiwgIk1BUkdJTlMiLCAiTUFSR0lOU19ZTiIsICJTVVJHX0RJU0NIQVJHRV9EQVlTIiwKICAgICAgICAgICAgICAgICAiUkVBRE1fSE9TUF8zMF9EQVlTX0YiLCAiUlhfU1VNTV9SQURJQVRJT05fRiIsICJQVUZfMzBfREFZX01PUlRfQ0RfRiIsCiAgICAgICAgICAgICAgICAgIlBVRl85MF9EQVlfTU9SVF9DRF9GIiwgIkRYX0xBU1RDT05UQUNUX0RFQVRIX01PTlRIUyIsIAogICAgICAgICAgICAgICAgICJMWU1QSF9WQVNDVUxBUl9JTlZBU0lPTl9GIiwgIlJYX0hPU1BfU1VSR19BUFBSXzIwMTBfRiIsICJTVVJHX1JBRF9TRVEiLAogICAgICAgICAgICAgICAgICJTVVJHX1JBRF9TRVFfQyIsICJTVVJHRVJZX1lOIiwgIlJBRElBVElPTl9ZTiIsICJDSEVNT19ZTiIsICJtZXRzX2F0X2R4IiwKICAgICAgICAgICAgICAgICAiTUVESUNBSURfRVhQTl9DT0RFIiwgIkVYUE5fR1JPVVAiLCAiU0lURV9URVhUIikpCgoKCnBfdGFibGUobm9fRXhjbHVkZXMsCiAgICAgICAgdmFycyA9IGMoIkZBQ0lMSVRZX1RZUEVfRiIsICJGQUNJTElUWV9MT0NBVElPTl9GIiwgIkZBQ0lMSVRZX0dFT0dSQVBIWSIsICAiQUdFIiwgIkFHRV9GIiwgIkFHRV80MCIsCiAgICAgICAgICAgICAgICAgIlNFWF9GIiwgIlJBQ0VfRiIsICJISVNQQU5JQyIsICJJTlNVUkFOQ0VfRiIsIAogICAgICAgICAgICAgICAgICJJTkNPTUVfRiIsICJFRFVDQVRJT05fRiIsICJVX1JfRiIsICJDUk9XRkxZIiwgIkNEQ0NfVE9UQUxfQkVTVCIsCiAgICAgICAgICAgICAgICAgIlNJVEVfVEVYVCIsICJISVNUT0xPR1lfRl9MSU0iLCAiSElTVE9MT0dZX0YiLCAiQkVIQVZJT1IiLCAiR1JBREVfRiIsCiAgICAgICAgICAgICAgICAgIkRYX1NUQUdJTkdfUFJPQ19EQVlTIiwgIlROTV9DTElOX1QiLCAiVE5NX0NMSU5fTiIsICJUTk1fQ0xJTl9NIiwKICAgICAgICAgICAgICAgICAiVE5NX0NMSU5fU1RBR0VfR1JPVVAiLCAiVE5NX1BBVEhfVCIsICJUTk1fUEFUSF9OIiwgIlROTV9QQVRIX00iLAogICAgICAgICAgICAgICAgICJUTk1fUEFUSF9TVEFHRV9HUk9VUCIsICJEWF9SWF9TVEFSVEVEX0RBWVMiLCAiRFhfU1VSR19TVEFSVEVEX0RBWVMiLAogICAgICAgICAgICAgICAgICJEWF9ERUZTVVJHX1NUQVJURURfREFZUyIsICJNQVJHSU5TIiwgIk1BUkdJTlNfWU4iLCAiU1VSR19ESVNDSEFSR0VfREFZUyIsCiAgICAgICAgICAgICAgICAgIlJFQURNX0hPU1BfMzBfREFZU19GIiwgIlJYX1NVTU1fUkFESUFUSU9OX0YiLCAiUFVGXzMwX0RBWV9NT1JUX0NEX0YiLAogICAgICAgICAgICAgICAgICJQVUZfOTBfREFZX01PUlRfQ0RfRiIsICJEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMiLCAKICAgICAgICAgICAgICAgICAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT05fRiIsICJSWF9IT1NQX1NVUkdfQVBQUl8yMDEwX0YiLCAiU1VSR19SQURfU0VRIiwKICAgICAgICAgICAgICAgICAiU1VSR19SQURfU0VRX0MiLCAiVF9TSVpFIiwgIlNVUkdFUllfWU4iLCAiUkFESUFUSU9OX1lOIiwgIkNIRU1PX1lOIiwgIm1ldHNfYXRfZHgiLAogICAgICAgICAgICAgICAgICJNRURJQ0FJRF9FWFBOX0NPREUiLCJTSVRFX1RFWFQiKSwgCiAgICAgICAgc3RyYXRhID0gIkVYUE5fR1JPVVAiKQoKCnBfdGFibGUoZGF0YSwKICAgICAgICB2YXJzID0gYygiWUVBUl9PRl9ESUFHTk9TSVMiKSwKICAgICAgICBzdHJhdGEgPSBjKCJNRURJQ0FJRF9FWFBOX0NPREUiKSkKYGBgCgoKCgpgYGB7cn0KCnByZUV4cE1lZGljYXJlICA8LSBucm93KGRhdGEgJT4lIGZpbHRlcihFWFBOX0dST1VQID09ICJQcmUtRXhwYW5zaW9uIiAmIElOU1VSQU5DRV9GID09ICJNZWRpY2FyZSIpKQpwb3N0RXhwTWVkaWNhcmUgPC0gbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUG9zdC1FeHBhbnNpb24iICYgSU5TVVJBTkNFX0YgPT0gIk1lZGljYXJlIikpCgojIHAgPSAwLjI1IHdoZW4gY29tcGFyaW5nIGNoYW5nZSBpbiBwcm9wb3J0aW9uIG9mIHBhdGllbnRzIHdpdGggTWVkaWNhcmUgYmVmb3JlIGFuZCBhZnRlciBBQ0EgZXhwYW5zaW9uCnByb3AudGVzdChjKHByZUV4cE1lZGljYXJlLCBwb3N0RXhwTWVkaWNhcmUpLCAKICAgICAgICAgIGMobnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUHJlLUV4cGFuc2lvbiIpKSwgbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUG9zdC1FeHBhbnNpb24iKSkpKQoKcHJlRXhwTm9JbnN1cmFuY2UgPC0gbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUHJlLUV4cGFuc2lvbiIpICU+JSAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcihJTlNVUkFOQ0VfRiA9PSAiTm9uZSIpKQpwb3N0RXhwTm9JbnN1cmFuY2UgPC0gbnJvdyhkYXRhICU+JSBmaWx0ZXIoRVhQTl9HUk9VUCA9PSAiUG9zdC1FeHBhbnNpb24iKSAlPiUgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyKElOU1VSQU5DRV9GID09ICJOb25lIikpCgojIFNpZ25pZmljYW50IGRlY3JlYXNlIGluIHRoZSBvdmVyYWxsIHByb3BvcnRpb24gb2YgcGF0aWVudHMgd2l0aG91dCBpbnN1cmFuY2UgYWZ0ZXIgQUNBIGV4cGFuc2lvbiAKcHJvcC50ZXN0KGMocHJlRXhwTm9JbnN1cmFuY2UsIHBvc3RFeHBOb0luc3VyYW5jZSksIAogICAgICAgICAgYyhucm93KGRhdGEgJT4lIGZpbHRlcihFWFBOX0dST1VQID09ICJQcmUtRXhwYW5zaW9uIikpLCBucm93KGRhdGEgJT4lIGZpbHRlcihFWFBOX0dST1VQID09ICJQb3N0LUV4cGFuc2lvbiIpKSkpCgpwX3RhYmxlKG5vX0V4Y2x1ZGVzLCBzdHJhdGEgPSAiRVhQTl9HUk9VUCIsIHZhcnMgPSAiRFhfUlhfU1RBUlRFRF9EQVlTIikKCmRhdGEgPC0gZGF0YSAlPiUgbXV0YXRlKEluc3VyZWQgPSBJTlNVUkFOQ0VfRiAhPSAiVW5rbm93biIpCgpgYGAKCgoKCiNLYXBsYW4gTWVpZXIgQW5hbHlzaXMKCgojI0FsbAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQWxsIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjRmFjaWxpdHkgVHlwZQpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJGQUNJTElUWV9UWVBFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNGYWNpbGl0eSBMb2NhdGlvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRkFDSUxJVFlfTE9DQVRJT05fRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0ZhY2lsaXR5IEdlb2dyYXBoeQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRkFDSUxJVFlfR0VPR1JBUEhZIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQWdlIEdyb3VwCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJBR0VfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0FnZSBHcm91cApgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJBR0VfNDAiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNHZW5kZXIKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlNFWF9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjUkFDRV9GCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJSQUNFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNIaXNwYW5pYwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiSElTUEFOSUMiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNJbnN1cmFuY2UgU3RhdHVzCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJJTlNVUkFOQ0VfRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI092ZXJhbGwgU3Vydml2YWwgcHJlL3Bvc3QtQUNBIGV4cGFuc2lvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRVhQTl9HUk9VUCIsIGRhdGFfaW1wID0gbm9fRXhjbHVkZXMpCmBgYAoKCjwhLS0gIyNJbmNvbWUgLS0+Cgo8IS0tIGBgYHtyfSAtLT4KPCEtLSBjbGFzcyhkYXRhJElOQ09NRV9GKSAtLT4KPCEtLSB1bmlfdmFyKHRlc3RfdmFyID0gIklOQ09NRV9GIiwgZGF0YV9pbXAgPSBkYXRhKSAtLT4KPCEtLSBgYGAgLS0+CgojI0VkdWNhdGlvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiRURVQ0FUSU9OX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNVcmJhbi9SdXJhbAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVV9SX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNDbGFzcyAodHJlYXRtZW50IGF0IHBlcmZvcm1pbmcgZmFjaWxpdHkpCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJDTEFTU19PRl9DQVNFX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNZZWFyCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJZRUFSX09GX0RJQUdOT1NJUyIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1ByaW1hcnkgU2l0ZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiU0lURV9URVhUIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCgojI0hpc3RvbG9neQoKYGBge3J9CiN1bmlfdmFyKHRlc3RfdmFyID0gIkhJU1RPTE9HWV9GX0xJTSIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgo8IS0tICMjQmVoYXZpb3IgLS0+Cgo8IS0tIGBgYHtyfSAtLT4KPCEtLSB1bmlfdmFyKHRlc3RfdmFyID0gIkJFSEFWSU9SIiwgZGF0YV9pbXAgPSBkYXRhKSAtLT4KPCEtLSBgYGAgLS0+CgojI0dyYWRlCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJHUkFERV9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQ2xpbmljYWwgVCBTdGFnZQoKYGBge3J9CiN1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9DTElOX1QiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNDbGluaWNhbCBOIFN0YWdlCgpgYGB7cn0KI3VuaV92YXIodGVzdF92YXIgPSAiVE5NX0NMSU5fTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0NsaW5pY2FsIE0gU3RhZ2UKCmBgYHtyfQojdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fQ0xJTl9NIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjQ2xpbmljYWwgU3RhZ2UgR3JvdXAKCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9DTElOX1NUQUdFX0dST1VQIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjUGF0aG9sb2dpYyBUIFN0YWdlCgpgYGB7cn0KI3VuaV92YXIodGVzdF92YXIgPSAiVE5NX1BBVEhfVCIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1BhdGhvbG9naWMgTiBTdGFnZQoKYGBge3J9CiN1bmlfdmFyKHRlc3RfdmFyID0gIlROTV9QQVRIX04iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNQYXRob2xvZ2ljIE0gU3RhZ2UKCmBgYHtyfQojdW5pX3Zhcih0ZXN0X3ZhciA9ICJUTk1fUEFUSF9NIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjUGF0aG9sb2dpYyBTdGFnZSBHcm91cAoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiVE5NX1BBVEhfU1RBR0VfR1JPVVAiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNNYXJnaW5zCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIk1BUkdJTlMiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNNYXJnaW5zIFllcy9ObwpgYGB7cn0KI3VuaV92YXIodGVzdF92YXIgPSAiTUFSR0lOU19ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojIzMwIERheSBSZWFkbWlzc2lvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiUkVBRE1fSE9TUF8zMF9EQVlTX0YiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNSYWRpYXRpb24gVHlwZQoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiUlhfU1VNTV9SQURJQVRJT05fRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgoKIyNMeW1waG92YXNjdWxhciBJbnZhc2lvbgoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiTFlNUEhfVkFTQ1VMQVJfSU5WQVNJT05fRiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0VuZG9zY29waWMvUm9ib3RpYwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiUlhfSE9TUF9TVVJHX0FQUFJfMjAxMF9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCiMjU3VyZ2VyeSBSYWRpYXRpb24gU2VxdWVuY2UgCgpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJTVVJHX1JBRF9TRVEiLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKIyNTdXJnZXJ5IFllcy9ObwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiU1VSR0VSWV9ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI1JhZGlhdGlvbiBZZXMvTm8KCmBgYHtyfQp1bmlfdmFyKHRlc3RfdmFyID0gIlJBRElBVElPTl9ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI0NoZW1vIFllcy9ObwoKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAiQ0hFTU9fWU4iLCBkYXRhX2ltcCA9IGRhdGEpCmBgYAoKCiMjVHJlYXRtZW50IFllcy9ObwpgYGB7cn0KdW5pX3Zhcih0ZXN0X3ZhciA9ICJUeF9ZTiIsIGRhdGFfaW1wID0gZGF0YSkKYGBgCgojI01ldGFzdGFzZXMgYXQgRHgKYGBge3J9CnVuaV92YXIodGVzdF92YXIgPSAibWV0c19hdF9keF9GIiwgZGF0YV9pbXAgPSBkYXRhKQpgYGAKCjwhLS0gIyNUdW1vciBTaXplIC0tPgoKPCEtLSBgYGB7cn0gLS0+CjwhLS0gdW5pX3Zhcih0ZXN0X3ZhciA9ICJUX1NJWkUiLCBkYXRhX2ltcCA9IGRhdGEpIC0tPgo8IS0tIGBgYCAtLT4KCiNUdW1vciBzcGVjaWZpYyBWYXJpYWJsZXMKCgojIyNOb2RlIFNpemUKCgojQ294IFByb3BvcnRpb25hbCBIYXphcmQgUmF0aW8KCiMjTW9kZWwgIzEKCiMjI0Z1bGwgYW5hbHlzaXMKCmBgYHtyfQptb2RlbF9vbmUgPC0gY294cGgoU3VydihEWF9MQVNUQ09OVEFDVF9ERUFUSF9NT05USFMsIFBVRl9WSVRBTF9TVEFUVVMgPT0gMCkKICAgICAgICAgICAgICAgICAgICAgfiBTVVJHX1JBRF9TRVEgKyBJTlNVUkFOQ0VfRiArIEFHRSArIFNFWF9GICsgUkFDRV9GICsgSU5DT01FX0YgKyBVX1JfRiArCiAgICAgICAgICAgICAgICAgICAgICBGQUNJTElUWV9UWVBFX0YgKyBGQUNJTElUWV9MT0NBVElPTl9GICsgRURVQ0FUSU9OX0YsCiAgICAgICAgICAgICAgICAgICAgIGRhdGEgPSBkYXRhKQptb2RlbF9vbmUgJT4lIHN1bW1hcnkoKQoKCmBgYAoKIyMjU3VtbWFyeSBvZiBNb2RlbAoKYGBge3J9Cm1vZGVsX29uZSAlPiUKICAgICAgICB0aWR5KC4sIGV4cG9uZW50aWF0ZSA9IFRSVUUpICU+JQogICAgICAgIHNlbGVjdCh0ZXJtLCBlc3RpbWF0ZSwgY29uZi5sb3csIGNvbmYuaGlnaCwgcC52YWx1ZSkgJT4lCiAgICAgICAgcmVuYW1lKFZhcmlhYmxlID0gdGVybSwKICAgICAgICAgICAgICAgSGF6YXJkX1JhdGlvID0gZXN0aW1hdGUpICU+JQogICAgICAgIHRibF9kZiAlPiUKICAgICAgICBwcmludChuID0gbnJvdyguKSkKCmBgYAoKIyBQcmVkaWN0aW9uIExvZ2lzdGljIFJlZ3Jlc3Npb24gTW9kZWxzCgojIyBTdXJnZXJ5CmBgYHtyfQoKbm9fVWtucyA8LSBkYXRhICU+JQogIGZpbHRlcihTVVJHRVJZX1lOICE9ICJVa24iKSAlPiUgCiAgZHJvcGxldmVscygpICU+JSAKICBtdXRhdGUoU1VSR0VSWV9ZTiA9IGFzLmxvZ2ljYWwoU1VSR0VSWV9ZTikpCgpmaXRfc3VyZyA8LSBnbG0oU1VSR19URiB+IEFHRV9GICsgU0VYX0YgKyBSQUNFX0YgKyBJTkNPTUVfRiArIFVfUl9GICsKICAgICAgICAgICAgICAgICAgICAgIEZBQ0lMSVRZX1RZUEVfRiArIEZBQ0lMSVRZX0xPQ0FUSU9OX0YgKyBFRFVDQVRJT05fRiArIEVYUE5fR1JPVVAsCiAgIGRhdGEgPSBub19Va25zKQoKc3VtbWFyeShmaXRfc3VyZykKCmV4cChjYmluZCgiT2RkcyByYXRpbyIgPSBjb2VmKGZpdF9zdXJnKSwgY29uZmludC5kZWZhdWx0KGZpdF9zdXJnLCBsZXZlbCA9IDAuOTUpKSkKYGBgCgojIyBNZXRhc3Rhc2lzIGF0IFRpbWUgb2YgRGlhZ25vc2lzCmBgYHtyfQojIGxpbWl0IHRvIHRob3NlIGNhc2VzIHdoZXJlIGRhdGEgYWJvdXQgZXhwYW5zaW9uIHN0YXR1cyBpcyBhdmFpbGFibGUgKD4gQWdlIDM5LCBub24tYW1iaWd1b3VzIHN0YXR1cyBzdGF0ZXMpCgpmaXRfbWV0cyA8LSBnbG0obWV0c19hdF9keF9GIH4gQUdFX0YgKyBTRVhfRiArIFJBQ0VfRiArIElOQ09NRV9GICsgVV9SX0YgKwogICAgICAgICAgICAgICAgICAgICAgRkFDSUxJVFlfVFlQRV9GICsgRkFDSUxJVFlfTE9DQVRJT05fRiArIEVEVUNBVElPTl9GICsgRVhQTl9HUk9VUCwKICAgZGF0YSA9IG5vX0V4Y2x1ZGVzKQoKc3VtbWFyeShmaXRfbWV0cykKCmV4cChjYmluZCgiT2RkcyByYXRpbyIgPSBjb2VmKGZpdF9tZXRzKSwgY29uZmludC5kZWZhdWx0KGZpdF9zdXJnLCBsZXZlbCA9IDAuOTUpKSkKYGBgCgoK